phonebookui/Phonebook2/UIServices/inc/RPbk2UIService.h
changeset 0 e686773b3f54
--- /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 <AknServerApp.h>
+#include <Pbk2ServerAppIPC.h>
+
+// 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