00001 /* 00002 * ============================================================================== 00003 * Name : sip.h 00004 * Part of : SIP Client 00005 * Interface : SDK API, SIP Client API 00006 * Description : 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2004 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 CSIP_H 00022 #define CSIP_H 00023 00024 // INCLUDES 00025 #include <e32base.h> 00026 #include "_sipcodecdefs.h" 00027 00028 // FORWARD DECLARATIONS 00029 class CDesC8Array; 00030 class MSIPObserver; 00031 class CSIPConnection; 00032 class CSIPImplementation; 00033 00034 // CLASS DECLARATION 00035 00054 class CSIP : public CBase 00055 { 00056 public: // Constructors and destructor 00057 00065 IMPORT_C static CSIP* NewL(const TUid& aUid, 00066 MSIPObserver& aObserver); 00067 00076 IMPORT_C static CSIP* NewLC(const TUid& aUid, 00077 MSIPObserver& aObserver); 00078 00082 IMPORT_C ~CSIP(); 00083 00084 public: // New functions 00085 00091 IMPORT_C CDesC8Array* SupportedSecurityMechanismsL() const; 00092 00098 IMPORT_C TBool IsSigCompSupportedL() const; 00099 00108 IMPORT_C HBufC8* NegotiatedSecurityMechanismL(const TDesC8& aHop); 00109 00116 IMPORT_C CSIPConnection* Connection(TUint32 aIapId) const; 00117 00118 public: // New functions, for internal use 00119 00125 CSIPImplementation& Implementation(); 00126 00127 private: // Constructors 00128 CSIP(); 00129 00130 void ConstructL(const TUid& aUid, MSIPObserver& aObserver); 00131 00132 private: // Data 00133 CSIPImplementation* iImplementation; 00134 00135 private: // For testing purposes 00136 00137 UNIT_TEST(CSIP_Test) 00138 UNIT_TEST(CSIPRegistrationBinding_Test) 00139 UNIT_TEST(CSIPInviteDialogAssoc_Test) 00140 UNIT_TEST(CSIPSubscribeDialogAssoc_Test) 00141 UNIT_TEST(CSIPReferDialogAssoc_Test) 00142 00143 __DECLARE_TEST; 00144 }; 00145 00146 #endif