40 #ifndef OPAL_H460_H4601_H
41 #define OPAL_H460_H4601_H
55 #include <ptlib/pluginmgr.h>
56 #include <ptclib/url.h>
113 operator unsigned ()
const {
return (
const PASN_Integer &)*
this; }
117 operator PString ()
const {
return ((
const H225_GloballyUniqueID &)*
this).AsString(); }
236 operator const PASN_OctetString &()
const;
237 operator PString()
const;
238 operator const PASN_BMPString &()
const;
239 operator bool()
const;
240 operator unsigned()
const;
242 operator const H225_AliasAddress &()
const;
244 operator const H225_ArrayOf_EnumeratedParameter &()
const;
245 operator PURL()
const;
353 {
return m_parameters.GetSize(); }
492 const PString & featurename,
493 PPluginManager * pluginMgr = NULL
599 template <
class FEAT>
static bool FromContext(PObject * context, FEAT * & feature)
601 feature =
dynamic_cast<FEAT *
>(
FromContext(context, FEAT::ID()));
602 return feature != NULL;
611 return feature != NULL;
617 PNatMethod * GetNatMethod(
const char * methodName)
const;
619 template <
class METH>
bool GetNatMethod(
const char * methodName, METH * & natMethod)
const
621 natMethod =
dynamic_cast<METH *
>(GetNatMethod(methodName));
622 return natMethod != NULL;
624 #endif // OPAL_H460_NAT
667 feature =
dynamic_cast<FEAT *
>(
GetFeature(
id));
668 return feature != NULL;
680 const H225_FeatureSet & pdu
688 H225_FeatureSet & pdu
695 static bool Copy(H225_FeatureSet & fs,
const H225_ArrayOf_GenericData & gd);
696 static bool Copy(H225_ArrayOf_GenericData & gd,
const H225_FeatureSet & fs);
709 #define H460_FEATURE(name, friendlyName) \
710 PCREATE_PLUGIN(name, H460_Feature, H460_Feature##name, PPlugin_H460_Feature, \
711 virtual const char * GetFriendlyName() const { return friendlyName; } \
725 #endif // OPAL_H460_H4601_H
H323EndPoint * GetEndPoint() const
Definition: h4601.h:595
virtual bool OnSendPDU(H460_MessageType pduType, H460_FeatureDescriptor &pdu)
virtual bool OnSendPDU(H460_MessageType pduType, H225_FeatureSet &pdu)
bool m_supportedByRemote
Definition: h4601.h:630
H460_Feature * GetFeatureOnGk(const H460_FeatureID &id) const
PINDEX GetParameterCount() const
Definition: h4601.h:479
H460_FeatureParameter & GetParameter(const H460_FeatureID &id) const
virtual bool OnSendRegistrationRequest(H460_FeatureDescriptor &, bool)
Definition: h4601.h:515
virtual void OnReceiveGatekeeperReject(const H460_FeatureDescriptor &)
Definition: h4601.h:513
void SetFeatureID(const H460_FeatureID &id)
Definition: h4601.h:401
virtual bool OnSendUnregistrationRequest(H460_FeatureDescriptor &)
Definition: h4601.h:548
virtual void OnReceivedUnAllocatedPDU(const H460_FeatureDescriptor &)
Definition: h4601.h:589
virtual bool OnSendLocationReject(H460_FeatureDescriptor &)
Definition: h4601.h:533
virtual void OnReceiveServiceControlResponse(const H460_FeatureDescriptor &)
Definition: h4601.h:543
virtual void OnReceiveSetup_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:571
H460_Feature(const H460_FeatureID &id=H460_FeatureID())
virtual void OnReceiveInfoRequestResponseMessage(const H460_FeatureDescriptor &)
Definition: h4601.h:558
bool AddFeature(H460_Feature *feat)
virtual void OnReceiveLocationReject(const H460_FeatureDescriptor &)
Definition: h4601.h:537
virtual void OnReceiveLocationConfirm(const H460_FeatureDescriptor &)
Definition: h4601.h:536
virtual bool OnSendAdmissionRequest(H460_FeatureDescriptor &)
Definition: h4601.h:523
bool GetBooleanParameter(const H460_FeatureID &id) const
virtual bool OnSendGatekeeperReject(H460_FeatureDescriptor &)
Definition: h4601.h:509
H460_FeatureParameter & operator[](PINDEX index)
Definition: h4601.h:357
void RemoveParameterAt(PINDEX index)
virtual void OnReceivePDU(H460_MessageType pduType, const H460_FeatureDescriptor &pdu)
const H460_FeatureDescriptor & GetDescriptor() const
Definition: h4601.h:596
H460_FeatureParameter & AddParameter(const H460_FeatureID &id, const H460_FeatureContent &content=H460_FeatureContent(), bool unique=true)
virtual void OnReceiveReleaseComplete_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:586
void RemoveFeature(const H460_FeatureID &id)
virtual void OnReceiveCallConnect_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:580
virtual void OnReceiveServiceControlIndication(const H460_FeatureDescriptor &)
Definition: h4601.h:542
virtual void OnReceiveCallProceeding_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:577
virtual void OnReceiveOLCGenericInformation(unsigned, const H245_ArrayOf_GenericParameter &, bool)
Definition: h4601.h:592
void SetCategory(Category cat)
Definition: h4601.h:389
Category GetCategory() const
Definition: h4601.h:388
bool GetFeatureOnGk(FEAT *&feature, const H460_FeatureID &id=FEAT::ID())
Definition: h4601.h:608
PINDEX GetParameterIndex(const H460_FeatureID &id) const
void SetContent(const H460_FeatureContent &content)
virtual bool OnSendFacility_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:582
virtual void OnReceiveAlerting_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:574
H323Connection * m_connection
Definition: h4601.h:628
virtual void OnReceiveAdmissionRequest(const H460_FeatureDescriptor &)
Definition: h4601.h:527
H460_FeatureSet(H323EndPoint &ep)
virtual void OnReceiveInfoRequestMessage(const H460_FeatureDescriptor &)
Definition: h4601.h:555
virtual bool OnSendReleaseComplete_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:585
virtual void OnReceiveDisengagementConfirmMessage(const H460_FeatureDescriptor &)
Definition: h4601.h:564
virtual H460_FeatureParameter & GetParameter(const H460_FeatureID &id)
Definition: h4601.h:456
void ReplaceParameter(const H460_FeatureID &id, const H460_FeatureContent &content)
virtual bool OnSendUnAllocatedPDU(H460_FeatureDescriptor &)
Definition: h4601.h:588
P_DECLARE_TRACED_ENUM(Category, Needed, Desired, Supported)
Category for feature.
virtual bool OnSendInfoRequestMessage(H460_FeatureDescriptor &)
Definition: h4601.h:554
virtual bool OnSendDisengagementRequestMessage(H460_FeatureDescriptor &)
Definition: h4601.h:560
bool IsParameterIsUnique(const H460_FeatureID &id) const
bool GetFeature(FEAT *&feature, const H460_FeatureID &id=FEAT::ID())
Definition: h4601.h:665
virtual void OnReceiveRegistrationRequest(const H460_FeatureDescriptor &)
Definition: h4601.h:519
bool HasParameter(const H460_FeatureID &id) const
virtual H460_FeatureParameter & GetParameterAt(PINDEX index)
Definition: h4601.h:450
virtual bool OnSendSetup_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:570
virtual bool OnSendLocationRequest(H460_FeatureDescriptor &)
Definition: h4601.h:531
static H460_Feature * CreateFeature(const PString &featurename, PPluginManager *pluginMgr=NULL)
virtual H460_FeatureParameter & AddParameter(const H460_FeatureID &id, const H460_FeatureContent &content=H460_FeatureContent(), bool unique=true)
Definition: h4601.h:416
virtual bool Initialise(H323EndPoint &ep, H323Connection *con)
virtual bool OnSendNonStandardMessage(H460_FeatureDescriptor &)
Definition: h4601.h:545
virtual bool OnSendServiceControlIndication(H460_FeatureDescriptor &)
Definition: h4601.h:539
virtual bool OnSendAlerting_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:573
virtual bool OnSendAdmissionConfirm(H460_FeatureDescriptor &)
Definition: h4601.h:524
H460_Feature * GetFeature(const H460_FeatureID &id)
virtual bool OnSendLocationConfirm(H460_FeatureDescriptor &)
Definition: h4601.h:532
const H460_FeatureID & GetID() const
Definition: h4601.h:396
H460_FeatureParameter & operator[](const H460_FeatureID &id)
Definition: h4601.h:473
const H460_FeatureID & GetID() const
Definition: h4601.h:290
virtual void OnReceiveLocationRequest(const H460_FeatureDescriptor &)
Definition: h4601.h:535
Definition: h323con.h:137
virtual void OnReceiveEndpoint(const H460_FeatureDescriptor &)
Definition: h4601.h:552
virtual bool OnSendCallConnect_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:579
PCREATE_PLUGIN_SERVICE(H460_Feature)
virtual bool OnSendInfoRequestResponseMessage(H460_FeatureDescriptor &)
Definition: h4601.h:557
virtual void OnReceiveRegistrationConfirm(const H460_FeatureDescriptor &)
Definition: h4601.h:520
virtual void OnReceiveAdmissionConfirm(const H460_FeatureDescriptor &)
Definition: h4601.h:528
virtual bool OnSendDisengagementConfirmMessage(H460_FeatureDescriptor &)
Definition: h4601.h:563
virtual bool OnSendCallProceeding_UUIE(H460_FeatureDescriptor &)
Definition: h4601.h:576
H323EndPoint & GetEndPoint()
Definition: h4601.h:693
virtual void OnReceiveAdmissionReject(const H460_FeatureDescriptor &)
Definition: h4601.h:529
H460_FeatureParameter & operator=(const PASN_OctetString &value)
virtual bool OnSendingOLCGenericInformation(unsigned, H245_ArrayOf_GenericParameter &, bool)
Definition: h4601.h:591
void RemoveParameter(const H460_FeatureID &id)
virtual void ReplaceParameter(const H460_FeatureID id, const H460_FeatureContent &content)
Definition: h4601.h:443
virtual void OnReceivePDU(H460_MessageType pduType, const H225_FeatureSet &pdu)
Category m_category
Definition: h4601.h:626
virtual void OnReceiveDisengagementRequestMessage(const H460_FeatureDescriptor &)
Definition: h4601.h:561
virtual bool OnSendEndpoint(H460_FeatureDescriptor &)
Definition: h4601.h:551
static bool FromContext(PObject *context, FEAT *&feature)
Definition: h4601.h:599
H323EndPoint * m_endpoint
Definition: h4601.h:627
virtual bool OnSendAdmissionReject(H460_FeatureDescriptor &)
Definition: h4601.h:525
virtual bool OnSendRegistrationReject(H460_FeatureDescriptor &)
Definition: h4601.h:517
H323EndPoint & m_endpoint
Definition: h4601.h:701
PINDEX GetParameterCount() const
Definition: h4601.h:352
virtual bool OnSendRegistrationConfirm(H460_FeatureDescriptor &)
Definition: h4601.h:516
H460_FeatureParameter & GetParameterAt(PINDEX index) const
Definition: h4601.h:322
H460_FeatureParameter & operator[](PINDEX index)
Definition: h4601.h:467
virtual bool OnSendGatekeeperRequest(H460_FeatureDescriptor &)
Definition: h4601.h:507
virtual void OnReceiveNonStandardMessage(const H460_FeatureDescriptor &)
Definition: h4601.h:546
virtual void OnReceiveUnregistrationRequest(const H460_FeatureDescriptor &)
Definition: h4601.h:549
virtual void OnReceiveRegistrationReject(const H460_FeatureDescriptor &)
Definition: h4601.h:521
const H460_FeatureID & GetID() const
Definition: h4601.h:227
static PStringList GetFeatureNames(PPluginManager *pluginMgr=NULL)
virtual void LoadFeatureSet(H323Connection *con=NULL)
#define OpalGloballyUniqueID
Definition: guid.h:38
virtual void RemoveParameterAt(PINDEX index)
Definition: h4601.h:431
bool HasFeature(const H460_FeatureID &feat)
H460_FeatureDescriptor m_descriptor
Definition: h4601.h:629
Definition: transaddr.h:62
virtual void RemoveParameter(const H460_FeatureID &id)
Definition: h4601.h:437
static bool Copy(H225_FeatureSet &fs, const H225_ArrayOf_GenericData &gd)
virtual H460_FeatureParameter & AddParameter(H460_FeatureParameter *param, bool unique=true)
Definition: h4601.h:424
virtual bool IsNegotiated() const
Definition: h4601.h:409
virtual bool HasParameter(const H460_FeatureID &id)
Definition: h4601.h:462
virtual bool OnSendServiceControlResponse(H460_FeatureDescriptor &)
Definition: h4601.h:540
virtual void OnReceiveFacility_UUIE(const H460_FeatureDescriptor &)
Definition: h4601.h:583
virtual bool OnSendGatekeeperConfirm(H460_FeatureDescriptor &)
Definition: h4601.h:508
virtual void OnReceiveGatekeeperConfirm(const H460_FeatureDescriptor &)
Definition: h4601.h:512
virtual void OnReceiveGatekeeperRequest(const H460_FeatureDescriptor &)
Definition: h4601.h:511
bool IsFeatureNegotiatedOnGk(const H460_FeatureID &id) const
static H460_Feature * FromContext(PObject *context, const H460_FeatureID &id)