sipxmedialib  Version 3.3
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CSourceDescription Class Reference

#include <SourceDescription.h>

Inheritance diagram for CSourceDescription:
Inheritance graph
[legend]
Collaboration diagram for CSourceDescription:
Collaboration graph
[legend]

Public Member Functions

 CSourceDescription (ssrc_t ulSSRC=0, unsigned char *puchName=NULL, unsigned char *puchEmail=NULL, unsigned char *puchPhone=NULL, unsigned char *puchLocation=NULL, unsigned char *puchAppName=NULL, unsigned char *puchNotes=NULL, unsigned char *puchPrivate=NULL)
 
 CSourceDescription (bool bHeader, unsigned char *puchSDESReport=NULL)
 
 ~CSourceDescription (void)
 
void SetAllComponents (unsigned char *puchName=NULL, unsigned char *puchEmail=NULL, unsigned char *puchPhone=NULL, unsigned char *puchLocation=NULL, unsigned char *puchAppName=NULL, unsigned char *puchNotes=NULL, unsigned char *puchPrivate=NULL)
 
void GetAllComponents (unsigned char *puchName, unsigned char *puchEmail, unsigned char *puchPhone, unsigned char *puchLocation, unsigned char *puchAppName, unsigned char *puchNotes, unsigned char *puchPrivate)
 
unsigned long GetFieldChange (unsigned long ulChangeMask, unsigned long *pulFieldType, unsigned char *puchFieldBuffer)
 
virtual ssrc_t GetSSRC (void)
 
virtual void SetSSRC (ssrc_t ulSSRC)
 
bool SetName (unsigned char *puchCName, unsigned long ulLength=0)
 
unsigned long GetName (unsigned char *puchName)
 
bool SetEmail (unsigned char *puchEmail, unsigned long ulLength=0)
 
unsigned long GetEmail (unsigned char *puchEmail)
 
bool SetPhone (unsigned char *puchPhone, unsigned long ulLength=0)
 
unsigned long GetPhone (unsigned char *puchPhone)
 
bool SetAppName (unsigned char *puchAppName, unsigned long ulLength=0)
 
unsigned long GetAppName (unsigned char *puchAppName)
 
bool SetLocation (unsigned char *puchLocation, unsigned long ulLength=0)
 
unsigned long GetLocation (unsigned char *puchLocation)
 
bool SetNotes (unsigned char *puchNotes, unsigned long ulLength=0)
 
unsigned long GetNotes (unsigned char *puchNotes)
 
bool SetPrivate (unsigned char *puchPrivate, unsigned long ulLength=0)
 
unsigned long GetPrivate (unsigned char *puchNotes)
 
ISDESReport * GetSDESInterface (void)
 
IGetSrcDescription * GetAccessInterface (void)
 
unsigned long GetChanges (void)
 
unsigned long FormatSDESReport (bool bHeader, long lContentMask, unsigned char *puchReportBuffer, unsigned long ulBufferSize)
 
unsigned long ParseSDESReport (bool bHeader, unsigned char *puchReportBuffer)
 
- Public Member Functions inherited from CBaseClass
CBaseClass CBASECLASS_PROTO_ARGS ((const char *pDerivedType="Unknown", int callLineNum=0))
 
virtual ~CBaseClass (void)
 
virtual bool Initialize (void)
 
bool IsInitialized (void)
 
void setAutomatic (bool)
 
virtual unsigned long AddRef ADD_RELEASE_PROTO_ARGS ((int callLineNum))
 
virtual unsigned long Release ADD_RELEASE_PROTO_ARGS ((int callLineNum))
 
- Public Member Functions inherited from CRTCPHeader
 CRTCPHeader (ssrc_t ulSSRC, RTCP_REPORTS_ET etPayloadType, unsigned long ulVersion=2)
 
virtual ~CRTCPHeader (void)
 
virtual unsigned long GetHeaderLength (void)
 
virtual unsigned long GetVersion (void)
 
virtual unsigned long GetPadding (void)
 
virtual RTCP_REPORTS_ET GetPayload (void)
 
virtual unsigned long GetReportCount (void)
 
virtual unsigned long GetReportLength (void)
 
virtual bool IsOurSSRC (ssrc_t ulSSRC)
 

Static Public Member Functions

static CSourceDescriptionGetLocalSDES (void)
 
- Static Public Member Functions inherited from CBaseClass
static bool AllowDeletes (void)
 
static void s_SetAllowDeletes (int v)
 
- Static Public Member Functions inherited from CRTCPHeader
static int VetPacket (unsigned char *buffer, int bufferLen)
 

Private Member Functions

bool FormulateCName (void)
 
bool SetCName (unsigned char *puchCName, unsigned long ulLength=0)
 
unsigned long GetCName (unsigned char *puchCName)
 
unsigned long ExtractFieldInfo (unsigned char *puchReportBuffer)
 
unsigned long ExtractPadding (unsigned char *puchReportBuffer)
 
unsigned long LoadFieldInfo (unsigned char *puchReportBuffer, long lContentMask)
 
unsigned long LoadFieldChanges (unsigned char *puchReportBuffer)
 
unsigned long TerminateNPad (unsigned char *puchReportBuffer, bool *pbPadded)
 

Private Attributes

bool m_bCNameSet
 
unsigned long m_ulContentMask
 
unsigned long m_ulChangeMask
 
unsigned long m_ulCNameLength
 
unsigned char m_uchCName [MAX_SOURCE_LENGTH]
 
unsigned long m_ulNameLength
 
unsigned char m_uchName [MAX_SOURCE_LENGTH]
 
unsigned long m_ulEmailLength
 
unsigned char m_uchEmail [MAX_SOURCE_LENGTH]
 
unsigned long m_ulPhoneLength
 
unsigned char m_uchPhone [MAX_SOURCE_LENGTH]
 
unsigned long m_ulAppNameLength
 
unsigned char m_uchAppName [MAX_SOURCE_LENGTH]
 
unsigned long m_ulLocationLength
 
unsigned char m_uchLocation [MAX_SOURCE_LENGTH]
 
unsigned long m_ulNotesLength
 
unsigned char m_uchNotes [MAX_SOURCE_LENGTH]
 
unsigned long m_ulPrivateLength
 
unsigned char m_uchPrivate [MAX_SOURCE_LENGTH]
 

Static Private Attributes

static CSourceDescriptionm_spoLocalSDES
 

Additional Inherited Members

- Public Attributes inherited from CBaseClass
bool m_bInitialized
 
bool m_bAutomatic
 
int m_ulReferences
 
- Static Public Attributes inherited from CBaseClass
static bool s_bAllowDeletes = true
 
- Protected Member Functions inherited from CRTCPHeader
unsigned long FormatRTCPHeader (unsigned char *puchRTCPBuffer, unsigned long ulPadding, unsigned long ulCount, unsigned long ulPayloadLength)
 
bool ParseRTCPHeader (unsigned char *puchRTCPBuffer)
 
- Protected Attributes inherited from CRTCPHeader
unsigned long m_ulVersion
 
unsigned long m_ulPadding
 
unsigned long m_ulCount
 
RTCP_REPORTS_ET m_etPayloadType
 
unsigned long m_ulLength
 
unsigned long m_ulSSRC
 

Detailed Description

Class Name: CSourceDescription

Inheritance: CBaseClass - Base Class Implementation CBaseRTCPClass - RTCP Reporting Base Class Implementation

Interfaces: ISDESReport, - SDES Reporting interface ISetSrcDescription - Set Source Description Interface IGetSrcDescription - Get Source Description Interface

Description: The CSourceDescription Class manages source description information passed by called participants through RTCP Source Description (SDES) Reports while in a VOIP call.

Notes: CSourceDescription is derived from CBaseClass which provides basic Initialization and reference counting support.

Constructor & Destructor Documentation

CSourceDescription ( ssrc_t  ulSSRC = 0,
unsigned char *  puchName = NULL,
unsigned char *  puchEmail = NULL,
unsigned char *  puchPhone = NULL,
unsigned char *  puchLocation = NULL,
unsigned char *  puchAppName = NULL,
unsigned char *  puchNotes = NULL,
unsigned char *  puchPrivate = NULL 
)

Method Name: CSourceDescription() - Constructor

Inputs: ssrc_t ulSSRC - SSRC ID unsigned char *puchName - NAME field unsigned char *puchEmail - EMAIL field unsigned char *puchPhone - PHONE field unsigned char *puchAppName - APPLICATION NAME unsigned char *puchLocation - LOCATION field unsigned char *puchNotes - NOTES field unsigned char *puchPrivate - PRIVATE field

Outputs: None

Returns: None

Description: Performs CSourceDescription object initialization. This constructor shall be called to form a Source Description identifying a local Pingtel phone set.

Usage Notes: Performs default assignment of any arguments that may not be known at construction time. The least likely known at construction time are placed at the end of the construction list.

CSourceDescription ( bool  bHeader,
unsigned char *  puchSDESReport = NULL 
)

Method Name: CSourceDescription() - Constructor

Inputs: bool bHeader

  • TRUE indicates a header precedes the SDES field info unsigned char *puchSDESReport
    • An SDES Report received from a call participant

Outputs: None

Returns: None

Description: Performs CSourceDescription object initialization. This constructor shall be called to construct a Source Description object identifying a FE call participant. The event interests register and notification interface passed shall be used to generate events and deliver them to their intended recipients.

Usage Notes: Performs default assignment of any arguments that may not be known at construction time.

Uses wide character format for internationalization purposes.

~CSourceDescription ( void  )

Method Name: ~CSourceDescription() - Destructor

Inputs: None

Outputs: None

Returns: None

Description: Shall deallocate and/or release all resources which was acquired over the course of runtime.

Usage Notes:

Member Function Documentation

static CSourceDescription* GetLocalSDES ( void  )
static

Method Name: GetLocalSDES()

Inputs: None

Outputs: None

Returns: CSourceDescription *poSourceDescription

  • Pointer to Local Source Description Interface

Description: A static member function used to obtain a Source Description interface.

Usage Notes: This method shall cause the local Source Description Singleton object to be created if it has not already been instantiated.

void SetAllComponents ( unsigned char *  puchName = NULL,
unsigned char *  puchEmail = NULL,
unsigned char *  puchPhone = NULL,
unsigned char *  puchLocation = NULL,
unsigned char *  puchAppName = NULL,
unsigned char *  puchNotes = NULL,
unsigned char *  puchPrivate = NULL 
)

Method Name: SetAllComponents()

Inputs: unsigned char *puchName - NAME field unsigned char *puchEmail - EMAIL field unsigned char *puchPhone - PHONE field unsigned char *puchAppName - APPLICATION NAME unsigned char *puchLocation - LOCATION field unsigned char *puchNotes - NOTES field unsigned char *puchPrivate - PRIVATE field

Outputs: None

Returns: None

Description: Performs a bulk set upon all the constituent elements composing a Source Description.

Usage Notes: Performs default assignment of any arguments that may not be provided at assignment time. The least likely known are placed at the end of the assignment list.

All elements passed must be NULL terminated.

void GetAllComponents ( unsigned char *  puchName,
unsigned char *  puchEmail,
unsigned char *  puchPhone,
unsigned char *  puchLocation,
unsigned char *  puchAppName,
unsigned char *  puchNotes,
unsigned char *  puchPrivate 
)

Method Name: GetAllComponents()

Inputs: unsigned char *puchName - NAME field unsigned char *puchEmail - EMAIL field unsigned char *puchPhone - PHONE field unsigned char *puchAppName - APPLICATION NAME unsigned char *puchLocation - LOCATION field unsigned char *puchNotes - NOTES field unsigned char *puchPrivate - PRIVATE field

Outputs: None

Returns: None

Description: Performs a bulk get upon all the constituent elements composing a Source Description.

Usage Notes: The elements retrieved are NULL terminated.

unsigned long GetFieldChange ( unsigned long  ulChangeMask,
unsigned long *  pulFieldType,
unsigned char *  puchFieldBuffer 
)

Method Name: GetFieldChange

Input: unsigned long ulChangeMask

  • A mask identifying the changed field in an SDES Report

Outputs: unsigned long *pulFieldType

  • The Field Identifier present in change mask unsigned char *puchReportBuffer
  • Character Buffer to store contents of field

Returns: unsigned long - The modified change mask

Description: Gets a field from an SDES Report based upon the change mask passed. A field present within the change mask shall have its ID and field contents loaded as output arguments to this call. The change mask shall be modified to reflect the removal of the field change that is being returned.

Usage Notes: This may be called multiple times to extract all the changes from an SDES report. No more changes are available once the mask has a value of 0.

ssrc_t GetSSRC ( void  )
inlinevirtual

Method Name: GetSSRC

Inputs: None

Outputs: None

Returns: ssrc_t - The SSRC of the Bye Report

Description: Returns the SSRC Associated with the Bye Report.

Usage Notes:

Reimplemented from CRTCPHeader.

virtual void SetSSRC ( ssrc_t  ulSSRC)
virtual

Method Name: SetSSRC

Inputs: ssrc_t ulSSRC - Source ID

Outputs: None

Returns: void

Description: Stores the Source Identifier associated with an RTP connection.

Usage Notes:

Reimplemented from CRTCPHeader.

bool SetName ( unsigned char *  puchCName,
unsigned long  ulLength = 0 
)

Method Name: SetName

Inputs: unsigned char *puchName - NAME Character String unsigned long ulLength - Optional Length of NAME argument passed

Outputs: None

Returns: bool

Description: Stores the Name field and length, either specified of derived, as attributed within the object.

Usage Notes: The NAME argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetName ( unsigned char *  puchName)

Method Name: GetName

Inputs: None

Outputs: unsigned char *puchName

  • buffer in which the NAME attribute shall be returned

Returns: unsigned long

  • Length of the item being returned in the buffer

Description: Retrieves the Name attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetEmail ( unsigned char *  puchEmail,
unsigned long  ulLength = 0 
)

Method Name: SetEmail

Inputs: unsigned char *puchEmail - EMAIL character string unsigned long ulLength - Length of Email argument passed

Outputs: None

Returns: bool

Description: Stores the Email field and length, either specified of derived, as attributed within the object.

Usage Notes: The EMAIL argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetEmail ( unsigned char *  puchEmail)

Method Name: GetEmail

Inputs: None

Outputs: unsigned char *puchEmail

  • buffer in which the EMAIL attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the Email attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetPhone ( unsigned char *  puchPhone,
unsigned long  ulLength = 0 
)

Method Name: SetPhone

Inputs: unsigned char *puchPhone - PHONE character string unsigned long ulLength - Length of Phone argument passed

Outputs: None

Returns: bool

Description: Stores the Phone field and length, either specified of derived, as attributed within the object.

Usage Notes: The PHONE argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetPhone ( unsigned char *  puchPhone)

Method Name: GetPhone

Inputs: None

Outputs: unsigned char *puchPhone

  • buffer in which the PHONE attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the Phone attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetAppName ( unsigned char *  puchAppName,
unsigned long  ulLength = 0 
)

Method Name: SetAppName

Inputs: unsigned char *puchAppName - Application Name character string unsigned long ulLength - Length of APP NAME argument passed

Outputs: None

Returns: bool

Description: Stores the App Name field and length, either specified of derived, as attributed within the object.

Usage Notes: The APP NAME argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetAppName ( unsigned char *  puchAppName)

Method Name: GetAppName

Inputs: None

Outputs: unsigned char *puchAppName

  • buffer in which the APPLICATION NAME attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the Application Name attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetLocation ( unsigned char *  puchLocation,
unsigned long  ulLength = 0 
)

Method Name: SetLocation

Inputs: unsigned char *puchLocation - LOCATION character string unsigned long ulLength - Length of LOCATION argument passed

Outputs: None

Returns: bool

Description: Stores the Location field and length, either specified of derived, as attributed within the object.

Usage Notes: The LOCATION argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetLocation ( unsigned char *  puchLocation)

Method Name: GetLocation

Inputs: None

Outputs: unsigned char *puchLocation

  • buffer in which the LOCATION attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the Location attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetNotes ( unsigned char *  puchNotes,
unsigned long  ulLength = 0 
)

Method Name: SetNotes

Inputs: unsigned char *puchNotes - NOTES character string unsigned long ulLength - Length of NOTES argument passed

Outputs: None

Returns: bool

Description: Stores the Notes field and length, either specified of derived, as attributed within the object.

Usage Notes: The NOTES argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetNotes ( unsigned char *  puchNotes)

Method Name: GetNotes

Inputs: None

Outputs: unsigned char *puchNotes

  • buffer in which the NOTES attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the Notes attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

bool SetPrivate ( unsigned char *  puchPrivate,
unsigned long  ulLength = 0 
)

Method Name: SetPrivate

Inputs: unsigned char *puchNotes - PRIVATE character string unsigned long ulLength - Length of PRIVATE argument passed

Outputs: None

Returns: bool

Description: Stores the Private field and length, either specified of derived, as attributed within the object.

Usage Notes: The PRIVATE argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetPrivate ( unsigned char *  puchNotes)

Method Name: GetPrivate

Inputs: None

Outputs: unsigned char *puchPrivate

  • buffer in which the PRIVATE attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the PRIVATE attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

ISDESReport * GetSDESInterface ( void  )
inline

Method Name: GetSDESInterface()

Inputs: None

Outputs: None

Returns: ISDESReport * - Pointer to the SDES Report Interface

Description: Returns the SDES Report interface.

Usage Notes:

IGetSrcDescription * GetAccessInterface ( void  )
inline

Method Name: GetAccessInterface()

Inputs: None

Outputs: None

Returns: IGetSrcDescription *

  • Pointer to the Get Src Description Interface

Description: Returns a pointer to the IGetSrcDescription interface used to view the contents of an SDES Report.

Usage Notes:

unsigned long GetChanges ( void  )
inline

Method Name: GetChanges

Inputs: None

Outputs: None

Returns: unsigned long - The aggregate changes that have occurred in the report since the last period

Description: Retrieves the aggregate changes that have occurred in the report since the last period

Usage Notes: Mask is an OR'ing of all changes for a period.

unsigned long FormatSDESReport ( bool  bHeader,
long  lContentMask,
unsigned char *  puchReportBuffer,
unsigned long  ulBufferSize 
)

Method Name: FormatSDESReport

Inputs: boolean bHeader

  • TRUE indicates a header should be included long lContentMask - Content Mask unsigned long ulBufferSize - length of the buffer

Outputs: unsigned char *puchReportBuffer

  • Buffer to receive the contents of the SDES Report

Returns: unsigned long - number of octets written into the buffer.

Description: Constructs an SDES report using the buffer passed in by the caller. The Source Description object shall use the period count passed to determine which information should be used to populate an SDES report.

Usage Notes: The header of the RTCP Report shall be formatted by delegating to the base class.

unsigned long ParseSDESReport ( bool  bHeader,
unsigned char *  puchReportBuffer 
)

Method Name: ParseSDESReport

Inputs: bool bHeader - TRUE indicates an RTCP Header preceeds the report unsigned char *puchReportBuffer

  • Buffer containing the SDES Report

Outputs: None

Returns: unsigned long - Number of octets processed

Description: Extracts the contents of an SDES report using the buffer passed in by the caller. The Source Description object shall store the content and length of data fields extracted from the SDES Report.

Usage Notes: The header of the RTCP Report shall be parsed by delegating to the base class.

bool FormulateCName ( void  )
private

Method Name: FormulateCName

Inputs: None

Outputs: None

Returns: bool - TRUE indicates successful formulation of the CNAME. (actually, always returns TRUE!)

Description: Formulates the CNAME attribute by concatenating the NAME field with the IP address of the Pingtel Network Phone. The resultant string shall take the following form 'name@128.224.120.2' or 'name@host.pingtel.com'.

Usage Notes: This method shall be called once at object initialization. The CNAME attribute formed will be used in all successive calls and may only be changed when a system reset occurs.

bool SetCName ( unsigned char *  puchCName,
unsigned long  ulLength = 0 
)
private

Method Name: SetCName

Inputs: unsigned char *puchCName - CNAME Character String unsigned long ulLength - Length of CNAME argument passed

Outputs: None

Returns: bool

Description: Stores the CName field and length, either specified of derived, as attributed within the object.

Usage Notes: The CNAME argument MUST be passed as a NULL terminated string or must contain a valid length argument. All text strings passed shall be truncated beyond the length of 255 characters.

unsigned long GetCName ( unsigned char *  puchCName)
private

Method Name: GetCName

Inputs: None

Outputs: unsigned char *puchCName

  • buffer in which the CNAME attribute shall be returned

Returns: unsigned long - Length of the item returned in the buffer

Description: Retrieves the CName attribute stored within the object and returns its associated length.

Usage Notes: All character strings returned are limited to 255 bytes in length. Any wide character support for internationalized display is a responsibility assumed by the caller.

unsigned long ExtractFieldInfo ( unsigned char *  puchReportBuffer)
private

Method Name: ExtractFieldInfo

Inputs: unsigned char *puchReportBuffer

  • Buffer containing the contents of the SDES Report

Outputs: None

Returns: unsigned long - Number of octets processed

Description: Extracts the field information contents of an SDES report using the buffer passed in by the caller. Each field entry shall contain an octet field type, an octet field length, and 'length' octets of character data not to exceed 255.

Usage Notes:

unsigned long ExtractPadding ( unsigned char *  puchReportBuffer)
private

Method Name: ExtractPadding

Inputs: unsigned char *puchReportBuffer

  • Buffer containing the contents of the SDES Report

Outputs: None

Returns: unsigned long - Number of octet processed

Description: Extracts the padding that might be present at the end of a list of field data contained within an SDES report.

Usage Notes:

unsigned long LoadFieldInfo ( unsigned char *  puchReportBuffer,
long  lContentMask 
)
private

Method Name: LoadFieldInfo

Inputs: unsigned char *puchReportBuffer - Buffer containing the contents of SDES Report long lContentMask - Content mask used to determine what to include in a report

Outputs: None

Returns: unsigned long - Number of octets processed

Description: Loads the field information contents of an SDES report into the buffer passed by the caller. Each field entry shall contain an octet field type, an octet field length, and 'length' octets of character data not to exceed 255. The CNAME field will always be passed as part of the report along with another field element determined from the period count.

Usage Notes:

unsigned long LoadFieldChanges ( unsigned char *  puchReportBuffer)
private

Method Name: LoadFieldChanges

Inputs: unsigned char *puchReportBuffer

  • Buffer containing the SDES Report

Outputs: None

Returns: unsigned long - Number of octets processed

Description: Loads the field information contents of an SDES report into the buffer passed by the caller. Each field entry shall contain an octet field type, an octet field length, and 'length' octets of character data not to exceed 255. The field contents will be determined by the change mask set at the last SDES report reception.

Usage Notes:

unsigned long TerminateNPad ( unsigned char *  puchReportBuffer,
bool *  pbPadded 
)
private

Method Name: TerminateNPad

Inputs: unsigned char *puchReportBuffer

  • Buffer containing the SDES Report

Outputs: bool *pbPadded - Flag specifying whether padding was added

Returns: unsigned long - Number of octets processed

Description: Add a terminating NULL octet and pad out to a 4 byte boundary.

Usage Notes:

Member Data Documentation

CSourceDescription* m_spoLocalSDES
staticprivate

Macro Name: DECLARE_IBASE_M

Inputs: None

Outputs: None

Returns: None

Description: This implements the IBaseClass functions used and exposed by derived classes.

Usage Notes:

Attribute Name: m_spoLocalSDES

Type: static CSourceDescription *

Description: This static member points to the RTC Manager Singleton object.

bool m_bCNameSet
private

Attribute Name: m_bCNameSet

Type: bool

Description: This member indicates whether the CNAME has been calculated since the instantiation of this object.

unsigned long m_ulContentMask
private

Attribute Name: m_ulContentMask

Type: unsigned long

Description: This member holds a mask of the contents of a Source Description report.

unsigned long m_ulChangeMask
private

Attribute Name: m_ulChangeMask

Type: unsigned long

Description: This member shall store the changes the occur between Source Description report repections. WHAT?????

unsigned long m_ulCNameLength
private

Attribute Name: m_ulCNameLength

Type: unsigned long

Description: This member holds the length of the CNAME Attribute.

unsigned char m_uchCName[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchCName

Type: Character Array

Description: This member holds the CNAME field of a Source Description.

unsigned long m_ulNameLength
private

Attribute Name: m_ulNameLength

Type: unsigned long

Description: This member holds the length of the NAME Attribute.

unsigned char m_uchName[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchName

Type: Character Array

Description: This member holds the NAME field of a Source Description.

unsigned long m_ulEmailLength
private

Attribute Name: m_ulEmailLength

Type: unsigned long

Description: This member holds the length of the EMAIL Attribute.

unsigned char m_uchEmail[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchEmail

Type: Character Array

Description: This member holds the EMAIL field of a Source Description.

unsigned long m_ulPhoneLength
private

Attribute Name: m_ulPhoneLength

Type: unsigned long

Description: This member holds the length of the PHONE Attribute.

unsigned char m_uchPhone[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchPhone

Type: Character Array

Description: This member holds the PHONE field of a Source Description.

unsigned long m_ulAppNameLength
private

Attribute Name: m_ulAppNameLength

Type: unsigned long

Description: This member holds the length of the APP NAME Attribute.

unsigned char m_uchAppName[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchAppName

Type: Character Array

Description: This member holds the APP NAME field of a Source Description.

unsigned long m_ulLocationLength
private

Attribute Name: m_ulLocationLength

Type: unsigned long

Description: This member holds the length of the LOCATION Attribute.

unsigned char m_uchLocation[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchLocation

Type: Character Array

Description: This member holds the LOCATION field of a Source Description.

unsigned long m_ulNotesLength
private

Attribute Name: m_ulNotesLength

Type: unsigned long

Description: This member holds the length of the NOTES Attribute.

unsigned char m_uchNotes[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchNotes

Type: Character Array

Description: This member holds the NOTES field of a Source Description.

unsigned long m_ulPrivateLength
private

Attribute Name: m_ulPrivateLength

Type: unsigned long

Description: This member holds the length of the PRIVATE Attribute.

unsigned char m_uchPrivate[MAX_SOURCE_LENGTH]
private

Attribute Name: m_uchPrivate

Type: Character Array

Description: This member holds the PRIVATE field of a Source Description.