--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vtengines/videoteleng/Inc/Base/VtEngUtils.h Mon Nov 23 14:47:47 2009 +0200
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2004-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: Video telephony engine TLS container.
+*
+*/
+
+
+
+#ifndef VTENGUTILS_H
+#define VTENGUTILS_H
+
+// INCLUDES
+#include <e32base.h>
+
+
+// FORWARD DECLARATIONS
+class CVtEngInitializer;
+class CVtEngHandlerContainer;
+class CVtEngDebug;
+class CVtEngStateManager;
+class CVtEngSettings;
+class CVtEngEventManager;
+class CVtEngCRProxy;
+class CVtEngAccessoryHandler;
+class CVtEngSATClient;
+class CVtEngDeviceLockMonitor;
+class CVtEngExtensions;
+class CVtEngMdtrMessageListener;
+class CVtEngMdtrCommandSender;
+
+// CLASS DECLARATION
+
+/**
+* TLS container for pointers to essential objects.
+*
+* @lib videoteleng.lib
+* @since Series 60 2.6
+*/
+NONSHARABLE_CLASS( CVtEngUtility ) : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CVtEngUtility* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CVtEngUtility();
+
+ public: // New functions
+
+ /**
+ * Creates SAT listener for updates.
+ */
+ void StartSATListenL();
+
+ /**
+ * Returns engine initializer.
+ * @return initializer
+ */
+ inline CVtEngInitializer& Initializer() const;
+
+ /**
+ * Returns engine utility.
+ * @return utility
+ */
+ static CVtEngUtility* EngineUtils();
+
+ /**
+ * Returns state manager.
+ * @return state manager
+ */
+ static CVtEngStateManager* StateManager();
+
+ /**
+ * Returns event manager.
+ * @return event manager
+ */
+ static CVtEngEventManager& EventManager();
+
+ /**
+ * Returns Central repository proxy.
+ * @return ref to CR proxy
+ */
+ static CVtEngCRProxy& CRProxy();
+
+ /**
+ * Returns accessory listener.
+ * @return accessory handler
+ */
+ static CVtEngAccessoryHandler& AccessoryHandler();
+
+ /**
+ * Returns settings.
+ * @return ref to settings
+ */
+ static CVtEngSettings& Settings();
+
+ /**
+ * Returns mediator command sender.
+ * @return ref to command sender
+ */
+ static CVtEngMdtrCommandSender& MediatorCommands();
+
+ /**
+ * Prepares the utility
+ * @param aHandlers handler container
+ * @param aStateManagerPtr state manager pointer ref
+ * @param aEventManagerPtr event manager pointer ref
+ * @param aExtensionPtr extension container pointer
+ */
+ void PrepareL(
+ CVtEngHandlerContainer& aHandlers,
+ CVtEngStateManager*& aStateManagerPtr,
+ CVtEngEventManager*& aEventManagerPtr,
+ CVtEngExtensions* aExtensionPtr );
+
+ /**
+ * Notifies device lock to UI.
+ */
+ void NotifyLockState();
+
+ /**
+ * Returns Extension container.
+ * @since S60 v3.2
+ * @return pointer to extensions
+ */
+ static CVtEngExtensions* Extensions();
+ /**
+ * Starts listening mediator messages.
+ */
+ void StartMediatorListenerL();
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CVtEngUtility();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ // Initializater for the engine
+ CVtEngInitializer* iEngineInit;
+
+ // State manager pointer
+ CVtEngStateManager** iStateManager;
+
+ // Settigs
+ CVtEngSettings* iSettings;
+
+ // Event manager pointer
+ CVtEngEventManager** iEventManager;
+
+ // Central repository interface
+ CVtEngCRProxy* iCRProxy;
+
+ // Accessory handler
+ CVtEngAccessoryHandler* iAccessoryHandler;
+
+ // SAT refresh listener
+ CVtEngSATClient* iSATClient;
+
+ // Monitor for device lock state
+ CVtEngDeviceLockMonitor* iLockMonitor;
+
+ // Extension pointer
+ CVtEngExtensions* iExtensions;
+ // For receiving Mediator commands and events
+ CVtEngMdtrMessageListener* iMdtrMessageListener;
+
+ // For sending Mediator commands
+ CVtEngMdtrCommandSender* iMdtrCommandSender;
+
+ };
+
+#include "VtEngUtils.inl"
+
+#endif // VTENGUTILS_H
+
+// End of File