00001 /* 00002 * ============================================================================== 00003 * Name : sipprofileregistry.h 00004 * Part of : SIP Profile Client 00005 * Interface : SDK API, SIP Profile API 00006 * Description : The class for using SIP profiles 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2003 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef CSIPPROFILEREGISTRY_H 00022 #define CSIPPROFILEREGISTRY_H 00023 00024 // INCLUDES 00025 #include <e32base.h> 00026 #include <e32std.h> 00027 #include <badesca.h> 00028 #include "sipprofileregistrybase.h" 00029 00030 // FORWARD DECLARATIONS 00031 class CSIP; 00032 class CSIPConnection; 00033 class CSIPProfile; 00034 class MSIPProfileRegistryObserver; 00035 class MSIPConnectionObserver; 00036 00037 00038 // CLASS DECLARATION 00051 class CSIPProfileRegistry: public CSIPProfileRegistryBase 00052 { 00053 public: // Constructors and destructor 00061 IMPORT_C static CSIPProfileRegistry* NewL( 00062 CSIP& aSip, 00063 MSIPProfileRegistryObserver& aObserver); 00064 00073 IMPORT_C static CSIPProfileRegistry* NewLC( 00074 CSIP& aSip, 00075 MSIPProfileRegistryObserver& aObserver); 00076 00080 IMPORT_C ~CSIPProfileRegistry(); 00081 00082 public: // New functions 00087 IMPORT_C CSIP& SIP() const; 00088 00097 IMPORT_C CSIPConnection* ConnectionL( 00098 CSIPProfile& aProfile); 00099 00113 IMPORT_C void EnableL( 00114 CSIPProfile& aProfile, 00115 MSIPConnectionObserver &aObserver); 00116 00124 IMPORT_C TInt Disable(CSIPProfile& aProfile); 00125 00131 IMPORT_C TBool IsEnabled(const CSIPProfile& aProfile) const; 00132 00133 public: 00134 00135 CSIPProfile* NewInstanceL(); 00136 00137 private: 00138 00139 CSIPProfileRegistry(); 00140 CSIPProfileRegistry(CSIP& aSip, MSIPProfileRegistryObserver& aObserver); 00141 00142 void ConstructL(); 00143 00144 private: 00145 00146 CSIP& iSip; 00147 MSIPConnectionObserver* iConnectionObserver; 00148 }; 00149 00150 // CSIPPROFILEREGISTRY_H 00151 #endif