S60 3rd Edition API Reference: sipregistrationbinding.h Source File

sipregistrationbinding.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : sipregistrationbinding.h
00004 *  Part of     : SIP Client
00005 *  Interface   : SDK API, SIP Client API
00006 *  Description : 
00007 *  Version     : 1.0
00008 *
00009 *  Copyright (c) 2005 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 CSIPREGISTRATIONBINDING_H
00022 #define CSIPREGISTRATIONBINDING_H
00023 
00024 // INCLUDES
00025 #include "sipregistrationcontext.h"
00026 #include "_sipcodecdefs.h"
00027 
00028 // FORWARD DECLARATIONS
00029 class CUri8;
00030 class CSIPToHeader;
00031 class CSIPFromHeader;
00032 class CSIPContactHeader;
00033 class CSIPRouteHeader;
00034 class CSIPMessageElements;
00035 class CSIPConnection;
00036 class CSIPRefresh;
00037 class CSIPClientTransaction;
00038 class CRegBindingImplementation;
00039 
00040 // CLASS DECLARATION
00041 
00051 class CSIPRegistrationBinding :
00052     public CBase,
00053     public MSIPRegistrationContext    
00054         {
00055     public: // Constructors and destructor
00056 
00081                 IMPORT_C static CSIPRegistrationBinding*
00082             NewL(CSIPConnection& aConnection,
00083                              CSIPToHeader* aAor,
00084                              CSIPContactHeader* aContact,
00085                              CSIPRefresh* aRefresh=0,
00086                              CSIPRouteHeader* aOutboundProxy=0,
00087                              CUri8* aRemoteUri=0,
00088                  CSIPFromHeader* aFrom=0);
00089 
00114                 IMPORT_C static CSIPRegistrationBinding*
00115             NewLC(CSIPConnection& aConnection,
00116                               CSIPToHeader* aAor,
00117                               CSIPContactHeader* aContact,
00118                               CSIPRefresh* aRefresh=0,
00119                               CSIPRouteHeader* aOutboundProxy=0,
00120                               CUri8* aRemoteUri=0,
00121                   CSIPFromHeader* aFrom=0);
00122 
00126                 IMPORT_C ~CSIPRegistrationBinding();
00127 
00128         public: //From MSIPRegistrationContext:
00129 
00136         IMPORT_C TBool IsContextActive() const;
00137 
00143         IMPORT_C TUint32 ContextId() const;               
00144         
00145     public: // New functions
00160                 IMPORT_C CSIPClientTransaction*
00161             RegisterL(CSIPMessageElements* aElements=0);
00162 
00179                 IMPORT_C CSIPClientTransaction*
00180             DeregisterL(CSIPMessageElements* aElements=0);
00181 
00197                 IMPORT_C CSIPClientTransaction* UpdateL(CSIPMessageElements* aElements);
00198 
00214                 IMPORT_C CSIPClientTransaction*
00215             UpdateL(TUint aExpirationValue, CSIPMessageElements* aElements=0);
00216 
00222         IMPORT_C CSIPConnection* Connection();
00223 
00229         IMPORT_C const CSIPConnection* Connection() const;
00230 
00238                 IMPORT_C void SetOutboundProxyL(CSIPRouteHeader* aOutboundProxy);
00239 
00244                 IMPORT_C const CSIPToHeader& Aor() const;
00245 
00250                 IMPORT_C const CSIPContactHeader& ContactHeader() const;
00251 
00256                 IMPORT_C CSIPContactHeader& ContactHeader();
00257                 
00263                 IMPORT_C const CSIPRouteHeader* OutboundProxy() const;
00264 
00273                 IMPORT_C const CSIPRefresh* SIPRefresh() const;
00274 
00283                 IMPORT_C CSIPRefresh* SIPRefresh();
00284                 
00290         IMPORT_C TBool
00291                 operator==(const CSIPRegistrationBinding& aRegistration) const;
00292 
00293         public: // New functions, for internal use
00299                 CRegBindingImplementation& Implementation();
00300 
00301         private: // Constructors
00302                 CSIPRegistrationBinding();
00303 
00304         void ConstructL(CSIPConnection& aConnection,
00305                                     CSIPToHeader* aAor,
00306                                                 CSIPContactHeader* aContacts,                        
00307                                                 CSIPRefresh* aRefresh,
00308                                                 CSIPRouteHeader* aOutboundProxy,
00309                                                 CUri8* aRemoteUri,
00310                         CSIPFromHeader* aFrom);        
00311 
00312         private: // Data
00313                 CRegBindingImplementation* iImplementation;
00314 
00315         private: // For testing purposes                        
00316 
00317                 UNIT_TEST(CSIP_Test)
00318         UNIT_TEST(CSIPRegistrationBinding_Test)
00319         UNIT_TEST(CSIPInviteDialogAssoc_Test)
00320         UNIT_TEST(CSIPSubscribeDialogAssoc_Test)
00321         UNIT_TEST(CSIPReferDialogAssoc_Test)
00322 
00323                 __DECLARE_TEST;
00324         };
00325 
00326 #endif

Copyright © Nokia Corporation 2001-2007
Back to top