sipXtapi home page


SdpCandidatePair.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2007 SIPez LLC.
3 // Licensed to SIPfoundry under a Contributor Agreement.
4 //
5 // Copyright (C) 2007 Plantronics
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // Copyright (C) 2007 SIPfoundry Inc.
9 // Licensed by SIPfoundry under the LGPL license.
10 //
11 // $$
13 // Author: Scott Godin (sgodin AT SipSpectrum DOT com)
14 
15 #ifndef _SdpCandidatePair_h_
16 #define _SdpCandidatePair_h_
17 
18 // SYSTEM INCLUDES
19 //#include <...>
20 
21 // APPLICATION INCLUDES
22 #include <utl/UtlInt.h>
23 #include <utl/UtlString.h>
24 #include <sdp/SdpCandidate.h>
25 
26 
27 // DEFINES
28 // MACROS
29 // EXTERNAL FUNCTIONS
30 // EXTERNAL VARIABLES
31 // CONSTANTS
32 // STRUCTS
33 // TYPEDEFS
34 // FORWARD DECLARATIONS
35 
36 //: Container for SdpCandidatePair specification
37 // This class holds the information related to an SdpCandidatePair.
38 // Included in this information is: TODO
39 //
40 
41 class SdpCandidatePair : public UtlCopyableContainable
42 {
43 /* //////////////////////////// PUBLIC //////////////////////////////////// */
44 public:
45 
46  typedef enum
47  {
54  static const char* SdpCandidatePairCheckStateString[];
55 
56  typedef enum
57  {
61  static const char* SdpCandidatePairOffererTypeString[];
62 
63 /* ============================ CREATORS ================================== */
64 
65  SdpCandidatePair(const SdpCandidate& localCandidate,
66  const SdpCandidate& remoteCandidate,
67  SdpCandidatePairOffererType offerer);
68  //:Default constructor
69 
70  SdpCandidatePair(const SdpCandidatePair& rSdpCandidatePair);
71  //:Copy constructor
72 
73  virtual
75  //:Destructor
76 
77 /* ============================ MANIPULATORS ============================== */
78 
80  //:Assignment operator
81 
82  void setLocalCandidate(const SdpCandidate& localCandidate) { mLocalCandidate = localCandidate; resetPriority(); }
83  void setRemoteCandidate(const SdpCandidate& remoteCandidate) { mRemoteCandidate = remoteCandidate; resetPriority(); }
84  void setOfferer(SdpCandidatePairOffererType offerer) { mOfferer = offerer; resetPriority(); }
85  bool setCheckState(SdpCandidatePairCheckState checkState);
86 
87 /* ============================ ACCESSORS ================================= */
88 
89  // UtlContainable requirements
90  virtual UtlContainableType getContainableType() const;
91  virtual unsigned hash() const;
92  virtual int compareTo(UtlContainable const *) const;
93  static const UtlContainableType TYPE;
94  UtlCopyableContainable* clone() const { return new SdpCandidatePair(*this); }
95 
96  void toString(UtlString& sdpCandidateString) const;
97 
98 /* ============================ INQUIRY =================================== */
99 
100  const SdpCandidate& getLocalCandidate() const { return mLocalCandidate; }
102  SdpCandidatePairOffererType getOfferer() const { return mOfferer; }
103  uint64_t getPriority() const { return mPriority; }
104  SdpCandidatePairCheckState getCheckState() const { return mCheckState; }
105 
106 /* //////////////////////////// PROTECTED ///////////////////////////////// */
107 protected:
108 
109 /* //////////////////////////// PRIVATE /////////////////////////////////// */
110 private:
111  int compareNumber(uint64_t first, uint64_t second, bool reverse = false) const;
112  void resetPriority();
113 
116  SdpCandidatePairOffererType mOfferer;
117  uint64_t mPriority;
118  SdpCandidatePairCheckState mCheckState;
119 };
120 
121 /* ============================ INLINE METHODS ============================ */
122 
123 #endif // _SdpCandidatePair_h_
Definition: SdpCandidatePair.h:49
virtual unsigned hash() const
Definition: SdpCandidatePair.cpp:146
SdpCandidatePairOffererType mOfferer
Definition: SdpCandidatePair.h:116
Definition: SdpCandidatePair.h:59
bool setCheckState(SdpCandidatePairCheckState checkState)
Definition: SdpCandidatePair.cpp:90
virtual int compareTo(UtlContainable const *) const
Definition: SdpCandidatePair.cpp:152
virtual UtlContainableType getContainableType() const
Definition: SdpCandidatePair.cpp:141
void setOfferer(SdpCandidatePairOffererType offerer)
Definition: SdpCandidatePair.h:84
void toString(UtlString &sdpCandidateString) const
Definition: SdpCandidatePair.cpp:182
virtual ~SdpCandidatePair()
Definition: SdpCandidatePair.cpp:67
static const char * SdpCandidatePairOffererTypeString[]
Definition: SdpCandidatePair.h:61
Definition: SdpCandidatePair.h:52
uint64_t getPriority() const
Definition: SdpCandidatePair.h:103
int compareNumber(uint64_t first, uint64_t second, bool reverse=false) const
Definition: SdpCandidatePair.cpp:223
Definition: SdpCandidatePair.h:51
SdpCandidatePairCheckState getCheckState() const
Definition: SdpCandidatePair.h:104
SdpCandidatePairCheckState mCheckState
Definition: SdpCandidatePair.h:118
SdpCandidate mLocalCandidate
Definition: SdpCandidatePair.h:114
Definition: SdpCandidatePair.h:48
void setRemoteCandidate(const SdpCandidate &remoteCandidate)
Definition: SdpCandidatePair.h:83
Definition: SdpCandidate.h:37
SdpCandidatePairOffererType
Definition: SdpCandidatePair.h:56
SdpCandidatePairCheckState
Definition: SdpCandidatePair.h:46
Definition: SdpCandidatePair.h:41
static const UtlContainableType TYPE
Class type used for runtime checking.
Definition: SdpCandidatePair.h:93
const SdpCandidate & getLocalCandidate() const
Definition: SdpCandidatePair.h:100
SdpCandidate mRemoteCandidate
Definition: SdpCandidatePair.h:115
SdpCandidatePair & operator=(const SdpCandidatePair &rhs)
Definition: SdpCandidatePair.cpp:75
Definition: SdpCandidatePair.h:58
static const char * SdpCandidatePairCheckStateString[]
Definition: SdpCandidatePair.h:54
uint64_t mPriority
Definition: SdpCandidatePair.h:117
const SdpCandidate & getRemoteCandidate() const
Definition: SdpCandidatePair.h:101
SdpCandidatePairOffererType getOfferer() const
Definition: SdpCandidatePair.h:102
SdpCandidatePair(const SdpCandidate &localCandidate, const SdpCandidate &remoteCandidate, SdpCandidatePairOffererType offerer)
Definition: SdpCandidatePair.cpp:49
void setLocalCandidate(const SdpCandidate &localCandidate)
Definition: SdpCandidatePair.h:82
void resetPriority()
Definition: SdpCandidatePair.cpp:214
UtlCopyableContainable * clone() const
Definition: SdpCandidatePair.h:94
Definition: SdpCandidatePair.h:50