diff -r 000000000000 -r e686773b3f54 phonebookui/Phonebook2/UIServices/inc/RPbk2UIService.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/Phonebook2/UIServices/inc/RPbk2UIService.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,236 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Phonebook 2 UI Service IPC client. +* +*/ + + +#ifndef RPBK2UISERVICE_H +#define RPBK2UISERVICE_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** + * Phonebook 2 UI Service IPC client. + * Responsible for handling IPC traffic with Phonebook 2 Application Server. + */ +class RPbk2UIService : public RAknAppServiceBase + { + public: // Constructor + + /** + * Constructor. + */ + RPbk2UIService(); + + public: // Interface + + /** + * Launches assign service. + * + * @param aStatus Request status. + * @param aConfigurationPackage Buffer containing + * configuration data. + * @param aDataPackage Buffer containing the + * data to assign. + * @param aAssignInstructions Buffer for assign instructions. + * @param aCanceled Cancel information. + */ + void LaunchAssignL( + TRequestStatus& aStatus, + HBufC8* aConfigurationPackage, + HBufC8* aDataPackage, + HBufC8* aAssignInstructions, + TBool& aCanceled ); + + /** + * Launches attribute assign service. + * + * @param aStatus Request status. + * @param aConfigurationPackage Buffer containing + * configuration data. + * @param aAttributePackage The attribute to assign. + * @param aAssignInstructions Buffer for assign instructions. + * @param aCanceled Cancel information. + */ + void LaunchAttributeAssignL( + TRequestStatus& aStatus, + HBufC8* aConfigurationPackage, + TPbk2AttributeAssignData& aAttributePackage, + HBufC8* aAssignInstructions, + TBool& aCanceled ); + + /** + * Launches attribute unassign service. + * + * @param aStatus Request status. + * @param aConfigurationPackage Buffer containing + * configuration data. + * @param aAttributePackage The attribute to unassign. + * @param aAssignInstructions Buffer for assign instructions. + * @param aCanceled Cancel information. + */ + void LaunchAttributeUnassignL( + TRequestStatus& aStatus, + HBufC8* aConfigurationPackage, + TPbk2AttributeAssignData aAttributePackage, + HBufC8* aAssignInstructions, + TBool& aCanceled ); + + /** + * Launches fetch service. + * + * @param aStatus Request status. + * @param aConfigurationPackage Buffer containing + * configuration data. + * @param aAssignInstructions Buffer for fetch instructions. + * @param aCanceled Cancel information. + */ + void LaunchFetchL( + TRequestStatus& aStatus, + HBufC8* aConfigurationPackage, + HBufC8* aFetchInstructions, + TBool& aCanceled ); + + /** + * Cancels assign service. + * + * @param aCanceled Cancel information. + */ + void CancelAssign( + TBool& aCanceled ); + + + /** + * Cancels fetch service. + * + * @param aCanceled Cancel information. + */ + void CancelFetch( + TBool& aCanceled ); + + /** + * Retrieves results. + * + * @param aArrayResults Buffer where the contact link array results + * will be fetched into. + * @param aFieldResults Buffer where the field content results + * will be fetched into. + */ + void GetResultsL( + HBufC8& aArrayResults, + TInt& aExtraData, + HBufC& aFieldResults ); + + /** + * Retrieves result size. + * + * @param aArrayResultSize Buffer where the contact link array size + * will be fetched into. + * @param aFieldResultSize Buffer where the field content size + * will be fetched into. + */ + void GetResultSizeL( + TInt& aArrayResultSize, + TInt& aFieldResultSize ); + + /** + * Requests exit notification. + * + * @param aStatus Request status. + * @param aExitCommandId Id of the exit command. + */ + void ExitRequestL( + TRequestStatus& aStatus, + TInt& aExitCommandId ); + + /** + * Cancels exit notification request. + */ + void CancelExitRequest(); + + /** + * Sends exit command to the service. + * + * @param aAcceptOutput Indicates whether the exit is + * acceptable. + * @param aExitCommandId Exit command id. + */ + void ExitServiceL( + TBool aAcceptOutput, + TInt aExitCommandId ); + + /** + * Requests accept notification. + * + * @param aStatus Request status. + * @param aNumContacts Number of contacts. + * @param aContactLink Buffer for contact links. + */ + void AcceptRequestL( + TRequestStatus& aStatus, + TInt& aNumContacts, + HBufC8& aContactLink ); + + /** + * Cancels accept notification request. + */ + void CancelAcceptRequest(); + + /** + * Sends accept command to the service. + * + * @param aAcceptOutput Indicates whether to accept or not. + * @param aContactLink Buffer for contact links, can be NULL. + */ + void AcceptServiceL( + TBool aAcceptOutput, + HBufC8* aContactLink ); + + private: // From RAknAppServiceBase + TUid ServiceUid() const; + + private: // Data + /// Own: Configuration package + TPtr8 iConfigurationPackagePtr; + /// Own: Data package + TPtr8 iDataPackagePtr; + /// Own: Instructions + TPtr8 iInstructionsPtr; + /// Own: Results size for contant link array + TPtr8 iResultArraySizePtr; + /// Own: Results for contact links + TPtr8 iArrayResultsPtr; + /// Own: Cancel information + TPtr8 iCanceledPtr; + /// Own: Id of the exit command + TPtr8 iExitCommandIdPtr; + /// Own: Number of contacts + TPtr8 iCountPtr; + /// Own: Contact link + TPtr8 iContactLinkPtr; + /// Own: Results size for field content + TPtr8 iResultFieldSizePtr; + /// Own: Results for field content + TPtr16 iFieldResultsPtr; + + }; + +#endif // RPBK2UISERVICE_H + +// End of File