--- /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
+