mmsharing/mmshavailability/inc/musavasharedobject.h
changeset 0 f0cf47e981f9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/mmshavailability/inc/musavasharedobject.h	Thu Dec 17 08:44:37 2009 +0200
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2005-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:  This is client interface class for chared objects 
+*                MusAvailability Plug-in 
+*
+*/
+
+
+#ifndef __MUSAVASHAREDOBJ_H__
+#define __MUSAVASHAREDOBJ_H__
+
+//  INCLUDES
+#include "musunittesting.h"
+#include <e32base.h>
+
+class CSIP;
+class CMusAvaSipObserver;
+class MSIPObserver;
+class CMusAvaSip;
+class MSIPConnectionObserver;
+class MMusAvaSipConnectionAdapter;
+class CMusAvaConnectionMonitor;
+class CMusAvaNetworkRegistrationStatus;
+class CMusAvaNetworkModeStatus;
+
+/**
+ *  CMusAvaSharedObject class represent the interface for module fetcher.
+ *
+ *  This interface class encapsulates module selection for availability Plug-in.
+ *
+ *  @lib musavailabilityplugin.lib
+ *  @since S60 v3.2
+ */
+class CMusAvaSharedObject : public CBase
+	{
+    public:
+        
+        /**
+         * Returns singleton object 
+         *
+         * @since  S60 v3.2
+    	 * @return pointer to CMusAvaSharedObject Object
+         */
+        static CMusAvaSharedObject* GetSingletonL();
+        
+         /**
+         * Delete singleton object 
+         *
+         * @since  S60 v3.2
+         */
+        static void DeleteSingleton();
+    	
+    	
+    protected:
+    	
+    	/**
+         * Two-phased constructor
+         *
+         * @since S60 v3.2
+         * @return Returns pointer to CMusAvaSharedObject object
+         */
+    	static CMusAvaSharedObject* NewL(  );
+    	
+    	/**
+         * Constructor
+         *
+         * @since S60 v3.2
+         * @param aObserver Pointer to observer intercase 
+         */
+    	CMusAvaSharedObject( );
+    	
+        /**
+         * Perform the second phase construction of a
+         *             CMusAvaSharedObject object
+         *
+         * @since S60 v3.2
+         */
+    	void ConstructL();
+    	
+    private:
+    
+ 	    /**
+         * Destructor
+         *
+         * @since S60 v3.2
+         */
+    	~CMusAvaSharedObject();
+    	
+    	
+    public:
+
+         /**
+         * Returns CMusAvaConnectionMonitor object 
+         *
+         * @since  S60 v3.2
+    	 * @return CMusAvaConnectionMonitor to Sip Object
+         */
+         CMusAvaConnectionMonitor& ConnectionMonitor();
+        
+        /**
+         * Returns MSIPConnectionObserver object 
+         *
+         * @since  S60 v3.2
+    	 * @return referense to MSIPConnectionObserver
+         */
+    	MSIPConnectionObserver& SIPConnection();
+    	
+    	/**
+         * Returns CMusAvaSip object 
+         *
+         * @since  S60 v3.2
+    	 * @return referense to Sip Object
+         */
+         CMusAvaSip& MusAvaSip();
+        
+    	/**
+         * Returns CSIP object 
+         *
+         * @since  S60 v3.2
+    	 * @return referense to Sip Object
+         */
+         CSIP& Sip();
+         
+        /**
+         * Returns MSIPObserver object 
+         *
+         * @since  S60 v3.2
+    	 * @return rreference to MSIPObserver object
+         */
+        MSIPObserver& SIPObserver();
+      
+        /**
+         * Returns CMusAvaNetworkRegistrationStatus object 
+         *
+         * @since  S60 v3.2
+    	 * @return rreference to CMusAvaNetworkRegistrationStatus object
+         */
+        CMusAvaNetworkRegistrationStatus& MusAvaTelephonyStatus();
+        
+        /**
+         * Returns CMusAvaNetworkModeStatus object 
+         *
+         * @since  S60 v3.2
+    	 * @return rreference to CMusAvaNetworkModeStatus object
+         */
+
+        CMusAvaNetworkModeStatus& NetworkModeStatus();
+
+      
+    private: //Data
+            
+         /**
+         * Pointer to Singleton object
+         */
+         static CMusAvaSharedObject* iSelf;
+         
+         /**
+         *
+         */
+         static TInt iSelfCounter;
+         
+         /**
+         * Pointer to CMusAvaSip object
+         */
+         CMusAvaSip* iMusAvaSip;  
+         
+         /**
+         * Pointer to CMusAvaConnectionMonitor object
+         */
+         CMusAvaConnectionMonitor* iConnectionMonitor;
+         
+         /**
+         * Pointer to CMusAvaNetworkRegistrationStatus object
+         */
+         CMusAvaNetworkRegistrationStatus* iNetworkRegistrationStatus;
+         
+         CMusAvaNetworkModeStatus* iNetworkModeStatus;  
+          
+         MUS_UNITTEST( UT_CMusAvaSharedObject )
+         MUS_UNITTEST( UT_CMusAvaConnectionMonitor )
+                    
+	};
+
+#endif
+