mmsharing/mmshavailability/inc/musavasharedobject.h
changeset 0 f0cf47e981f9
equal deleted inserted replaced
-1:000000000000 0:f0cf47e981f9
       
     1 /*
       
     2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  This is client interface class for chared objects 
       
    15 *                MusAvailability Plug-in 
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef __MUSAVASHAREDOBJ_H__
       
    21 #define __MUSAVASHAREDOBJ_H__
       
    22 
       
    23 //  INCLUDES
       
    24 #include "musunittesting.h"
       
    25 #include <e32base.h>
       
    26 
       
    27 class CSIP;
       
    28 class CMusAvaSipObserver;
       
    29 class MSIPObserver;
       
    30 class CMusAvaSip;
       
    31 class MSIPConnectionObserver;
       
    32 class MMusAvaSipConnectionAdapter;
       
    33 class CMusAvaConnectionMonitor;
       
    34 class CMusAvaNetworkRegistrationStatus;
       
    35 class CMusAvaNetworkModeStatus;
       
    36 
       
    37 /**
       
    38  *  CMusAvaSharedObject class represent the interface for module fetcher.
       
    39  *
       
    40  *  This interface class encapsulates module selection for availability Plug-in.
       
    41  *
       
    42  *  @lib musavailabilityplugin.lib
       
    43  *  @since S60 v3.2
       
    44  */
       
    45 class CMusAvaSharedObject : public CBase
       
    46 	{
       
    47     public:
       
    48         
       
    49         /**
       
    50          * Returns singleton object 
       
    51          *
       
    52          * @since  S60 v3.2
       
    53     	 * @return pointer to CMusAvaSharedObject Object
       
    54          */
       
    55         static CMusAvaSharedObject* GetSingletonL();
       
    56         
       
    57          /**
       
    58          * Delete singleton object 
       
    59          *
       
    60          * @since  S60 v3.2
       
    61          */
       
    62         static void DeleteSingleton();
       
    63     	
       
    64     	
       
    65     protected:
       
    66     	
       
    67     	/**
       
    68          * Two-phased constructor
       
    69          *
       
    70          * @since S60 v3.2
       
    71          * @return Returns pointer to CMusAvaSharedObject object
       
    72          */
       
    73     	static CMusAvaSharedObject* NewL(  );
       
    74     	
       
    75     	/**
       
    76          * Constructor
       
    77          *
       
    78          * @since S60 v3.2
       
    79          * @param aObserver Pointer to observer intercase 
       
    80          */
       
    81     	CMusAvaSharedObject( );
       
    82     	
       
    83         /**
       
    84          * Perform the second phase construction of a
       
    85          *             CMusAvaSharedObject object
       
    86          *
       
    87          * @since S60 v3.2
       
    88          */
       
    89     	void ConstructL();
       
    90     	
       
    91     private:
       
    92     
       
    93  	    /**
       
    94          * Destructor
       
    95          *
       
    96          * @since S60 v3.2
       
    97          */
       
    98     	~CMusAvaSharedObject();
       
    99     	
       
   100     	
       
   101     public:
       
   102 
       
   103          /**
       
   104          * Returns CMusAvaConnectionMonitor object 
       
   105          *
       
   106          * @since  S60 v3.2
       
   107     	 * @return CMusAvaConnectionMonitor to Sip Object
       
   108          */
       
   109          CMusAvaConnectionMonitor& ConnectionMonitor();
       
   110         
       
   111         /**
       
   112          * Returns MSIPConnectionObserver object 
       
   113          *
       
   114          * @since  S60 v3.2
       
   115     	 * @return referense to MSIPConnectionObserver
       
   116          */
       
   117     	MSIPConnectionObserver& SIPConnection();
       
   118     	
       
   119     	/**
       
   120          * Returns CMusAvaSip object 
       
   121          *
       
   122          * @since  S60 v3.2
       
   123     	 * @return referense to Sip Object
       
   124          */
       
   125          CMusAvaSip& MusAvaSip();
       
   126         
       
   127     	/**
       
   128          * Returns CSIP object 
       
   129          *
       
   130          * @since  S60 v3.2
       
   131     	 * @return referense to Sip Object
       
   132          */
       
   133          CSIP& Sip();
       
   134          
       
   135         /**
       
   136          * Returns MSIPObserver object 
       
   137          *
       
   138          * @since  S60 v3.2
       
   139     	 * @return rreference to MSIPObserver object
       
   140          */
       
   141         MSIPObserver& SIPObserver();
       
   142       
       
   143         /**
       
   144          * Returns CMusAvaNetworkRegistrationStatus object 
       
   145          *
       
   146          * @since  S60 v3.2
       
   147     	 * @return rreference to CMusAvaNetworkRegistrationStatus object
       
   148          */
       
   149         CMusAvaNetworkRegistrationStatus& MusAvaTelephonyStatus();
       
   150         
       
   151         /**
       
   152          * Returns CMusAvaNetworkModeStatus object 
       
   153          *
       
   154          * @since  S60 v3.2
       
   155     	 * @return rreference to CMusAvaNetworkModeStatus object
       
   156          */
       
   157 
       
   158         CMusAvaNetworkModeStatus& NetworkModeStatus();
       
   159 
       
   160       
       
   161     private: //Data
       
   162             
       
   163          /**
       
   164          * Pointer to Singleton object
       
   165          */
       
   166          static CMusAvaSharedObject* iSelf;
       
   167          
       
   168          /**
       
   169          *
       
   170          */
       
   171          static TInt iSelfCounter;
       
   172          
       
   173          /**
       
   174          * Pointer to CMusAvaSip object
       
   175          */
       
   176          CMusAvaSip* iMusAvaSip;  
       
   177          
       
   178          /**
       
   179          * Pointer to CMusAvaConnectionMonitor object
       
   180          */
       
   181          CMusAvaConnectionMonitor* iConnectionMonitor;
       
   182          
       
   183          /**
       
   184          * Pointer to CMusAvaNetworkRegistrationStatus object
       
   185          */
       
   186          CMusAvaNetworkRegistrationStatus* iNetworkRegistrationStatus;
       
   187          
       
   188          CMusAvaNetworkModeStatus* iNetworkModeStatus;  
       
   189           
       
   190          MUS_UNITTEST( UT_CMusAvaSharedObject )
       
   191          MUS_UNITTEST( UT_CMusAvaConnectionMonitor )
       
   192                     
       
   193 	};
       
   194 
       
   195 #endif
       
   196