--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/inc/senduisrappui.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* Copyright (c) 2006 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+
+
+
+#ifndef C_CSENDUISRAPPUI_H
+#define C_CSENDUISRAPPUI_H
+
+
+#include <aknappui.h>
+#include <msvapi.h>
+
+// Forward declarations
+class CSendUiPropertyObserver;
+class CSendingServiceInfo;
+class CSendingService;
+class TSendingCapabilities;
+class CSendUiSrAppView;
+class CRepository;
+class CSendUiSingleton;
+
+const TInt KEightBits = 8;
+
+/**
+ * An instance of class CSendUiSrAppUi is the UserInterface part of the AVKON
+ * application framework for the SendUiServiceResolver application
+ *
+ * @since S60 v3.2
+ */
+class CSendUiSrAppUi : public CAknAppUi
+ {
+
+public:
+
+ /** Publish & Subscribe API keys */
+ enum TSendUiPropertyKeys { ESendUiListStatus };
+
+ virtual ~CSendUiSrAppUi();
+
+ CSendUiSrAppUi();
+
+// from base class CAknAppUi
+
+ /**
+ * From CAknAppUi.
+ *
+ * @since S60 v3.2
+ * @param aCommand Command code
+ */
+ void HandleCommandL( TInt aCommand );
+
+private:
+
+ void ConstructL();
+
+ /**
+ * Resolves and stores sending service information
+ *
+ * @since S60 v3.2
+ */
+ void HandleUpdateSendListL();
+
+ /**
+ * Removes all SendUi's sending service information from the central repository
+ *
+ * @since S60 v3.2
+ * @param aRep Reference to an open CRepository object
+ */
+ void ClearPluginListL( CRepository* aRep );
+
+ /**
+ * Inserts given sending service information to Central Repository.
+ *
+ * @since S60 v3.2
+ * @param aRep Reference to an open CRepository object
+ * @param aServiceId Identification code of this service
+ * @param aServiceProviderId Identification code of the service provider
+ * @param aTechnologyType Identification code of the service's technology type
+ * @param aCapabilities Sending capabilities of this service
+ * @param aServiceMenuName Name of the service shown in menu (Send...)
+ * @param aServiceName Name of the service (Write...)
+ */
+ TInt AddSendingService(
+ CRepository* aRep,
+ TUint aIndex,
+ TUid aServiceId,
+ TUid aServiceProviderId,
+ TUid aTechnologyType,
+ TInt aFeatures,
+ TSendingCapabilities aCapabilities,
+ TPtrC aServiceMenuName,
+ TPtrC aServiceName,
+ TPtrC aServiceAddress );
+
+ /**
+ * Populates given list with the sending services.
+ * The pointers in the list point to the actual objects
+ * (which remain owned by the Service Providers).
+ *
+ * @since Series 60 3.2
+ * @param aServiceList List of available services
+ * @param aServiceProviders list of service providers.
+ * @param aCoeEnv
+ * @return aServiceList and aServiceProviders
+ */
+ void PopulateServicesListL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ RPointerArray<CSendingService>& aServiceProviders,
+ CCoeEnv* aCoeEnv );
+
+ static TInt UpdateTask( TAny* aThis );
+
+ /**
+ * Loads a service provides and fetches the provided services.
+ * This functions is trapped in PopulateServicesListL to insulate serious
+ * service loading problems to the service in question.
+ *
+ * @since Series 60 3.2
+ * @param aServiceProviderUid
+ * @param aCoeEnv Pointer to CCoeEnv passed to the service provider
+ * @param aSingleton Pointer to a singleton class passed to the service provider
+ * @param aServiceList List of services available at the loaded service provider.
+ */
+
+ CSendingService* LoadServiceL(
+ TUid aServiceUid,
+ CCoeEnv* aCoeEnv,
+ CSendUiSingleton* aSingleton,
+ RPointerArray<CSendingServiceInfo>& aServiceList );
+
+private:
+
+ /**
+ * Not own.
+ */
+ CCoeEnv* iCoeEnv;
+
+ /**
+ * Timer for updater. HandleUpdateSendListL can not be called directly from ConstructL,
+ * so HandleUpdateSendListL call is requested after construction with timer.
+ *
+ * Own.
+ */
+ CIdle* iIdle;
+ };
+
+#endif // C_CSENDUIAPPUI_H