You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
223 lines
3.7 KiB
223 lines
3.7 KiB
/*
|
|
|
|
Copyright (c) 1997-1999 Microsoft Corporation
|
|
|
|
*/
|
|
|
|
#ifndef __SDP_MEDIA__
|
|
#define __SDP_MEDIA__
|
|
|
|
#include "sdpcommo.h"
|
|
#include "sdpcstrl.h"
|
|
#include "sdpbstrl.h"
|
|
#include "sdpconn.h"
|
|
#include "sdpbw.h"
|
|
#include "sdpenc.h"
|
|
#include "sdpatt.h"
|
|
#include "sdpval.h"
|
|
|
|
#include "sdpsobst.h"
|
|
|
|
|
|
class _DllDecl SDP_FORMAT_CODE_LIST :
|
|
public SDP_OPT_BSTRING_LIST,
|
|
public SDP_OPT_BSTRING_SAFEARRAY
|
|
{
|
|
public:
|
|
|
|
inline SDP_FORMAT_CODE_LIST();
|
|
};
|
|
|
|
|
|
inline
|
|
SDP_FORMAT_CODE_LIST::SDP_FORMAT_CODE_LIST(
|
|
)
|
|
: SDP_OPT_BSTRING_SAFEARRAY(*((SDP_OPT_BSTRING_LIST *)this))
|
|
{
|
|
}
|
|
|
|
|
|
class _DllDecl SDP_MEDIA : public SDP_VALUE
|
|
{
|
|
public:
|
|
|
|
SDP_MEDIA();
|
|
|
|
inline SDP_OPTIONAL_BSTRING &GetName();
|
|
|
|
inline SDP_REQD_BSTRING_LINE &GetTitle();
|
|
|
|
inline SDP_USHORT &GetStartPort();
|
|
|
|
inline SDP_USHORT &GetNumPorts();
|
|
|
|
inline SDP_OPTIONAL_BSTRING &GetProtocol();
|
|
|
|
inline SDP_FORMAT_CODE_LIST &GetFormatCodeList();
|
|
|
|
inline SDP_CONNECTION &GetConnection();
|
|
|
|
inline SDP_BANDWIDTH &GetBandwidth();
|
|
|
|
inline SDP_ENCRYPTION_KEY &GetEncryptionKey();
|
|
|
|
inline SDP_ATTRIBUTE_LIST &GetAttributeList();
|
|
|
|
HRESULT SetPortInfo(
|
|
IN USHORT StartPort,
|
|
IN USHORT NumPorts
|
|
);
|
|
|
|
|
|
protected:
|
|
|
|
SDP_OPTIONAL_BSTRING m_Name;
|
|
SDP_USHORT m_StartPort;
|
|
SDP_USHORT m_NumPorts;
|
|
SDP_OPTIONAL_BSTRING m_TransportProtocol;
|
|
SDP_FORMAT_CODE_LIST m_FormatCodeList;
|
|
SDP_REQD_BSTRING_LINE m_Title;
|
|
SDP_CONNECTION m_Connection;
|
|
SDP_BANDWIDTH m_Bandwidth;
|
|
SDP_ENCRYPTION_KEY m_EncryptionKey;
|
|
SDP_ATTRIBUTE_LIST m_AttributeList;
|
|
|
|
virtual void InternalReset();
|
|
|
|
virtual BOOL CalcIsModified() const;
|
|
|
|
virtual DWORD CalcCharacterStringSize();
|
|
|
|
virtual BOOL CopyValue(
|
|
OUT ostrstream &OutputStream
|
|
);
|
|
|
|
virtual BOOL InternalParseLine(
|
|
IN OUT CHAR *&Line
|
|
);
|
|
|
|
virtual BOOL GetField(
|
|
OUT SDP_FIELD *&Field,
|
|
OUT BOOL &AddToArray
|
|
);
|
|
};
|
|
|
|
|
|
inline SDP_OPTIONAL_BSTRING &
|
|
SDP_MEDIA::GetName(
|
|
)
|
|
{
|
|
return m_Name;
|
|
}
|
|
|
|
|
|
inline SDP_REQD_BSTRING_LINE &
|
|
SDP_MEDIA::GetTitle(
|
|
)
|
|
{
|
|
return m_Title;
|
|
}
|
|
|
|
|
|
inline SDP_USHORT &
|
|
SDP_MEDIA::GetStartPort(
|
|
)
|
|
{
|
|
return m_StartPort;
|
|
}
|
|
|
|
|
|
inline SDP_USHORT &
|
|
SDP_MEDIA::GetNumPorts(
|
|
)
|
|
{
|
|
return m_NumPorts;
|
|
}
|
|
|
|
|
|
inline SDP_OPTIONAL_BSTRING &
|
|
SDP_MEDIA::GetProtocol(
|
|
)
|
|
{
|
|
return m_TransportProtocol;
|
|
}
|
|
|
|
|
|
inline SDP_FORMAT_CODE_LIST &
|
|
SDP_MEDIA::GetFormatCodeList(
|
|
)
|
|
{
|
|
return m_FormatCodeList;
|
|
}
|
|
|
|
|
|
inline SDP_CONNECTION &
|
|
SDP_MEDIA::GetConnection(
|
|
)
|
|
{
|
|
return m_Connection;
|
|
}
|
|
|
|
|
|
inline SDP_BANDWIDTH &
|
|
SDP_MEDIA::GetBandwidth(
|
|
)
|
|
{
|
|
return m_Bandwidth;
|
|
}
|
|
|
|
|
|
inline SDP_ENCRYPTION_KEY &
|
|
SDP_MEDIA::GetEncryptionKey(
|
|
)
|
|
{
|
|
return m_EncryptionKey;
|
|
}
|
|
|
|
|
|
inline SDP_ATTRIBUTE_LIST &
|
|
SDP_MEDIA::GetAttributeList(
|
|
)
|
|
{
|
|
return m_AttributeList;
|
|
}
|
|
|
|
|
|
|
|
class _DllDecl SDP_MEDIA_LIST : public SDP_VALUE_LIST
|
|
{
|
|
public:
|
|
|
|
inline SDP_MEDIA_LIST();
|
|
|
|
inline void SetCharacterSet(
|
|
IN SDP_CHARACTER_SET CharacterSet
|
|
);
|
|
|
|
protected:
|
|
|
|
SDP_CHARACTER_SET m_CharacterSet;
|
|
|
|
virtual SDP_VALUE *CreateElement();
|
|
};
|
|
|
|
|
|
|
|
inline
|
|
SDP_MEDIA_LIST::SDP_MEDIA_LIST(
|
|
)
|
|
: m_CharacterSet(CS_ASCII)
|
|
{
|
|
}
|
|
|
|
|
|
inline void
|
|
SDP_MEDIA_LIST::SetCharacterSet(
|
|
IN SDP_CHARACTER_SET CharacterSet
|
|
)
|
|
{
|
|
m_CharacterSet = CharacterSet;
|
|
}
|
|
|
|
|
|
#endif // __SDP_MEDIA__
|