OPAL Version 3.10.2
|
#include <peclient.h>
Data Structures | |
class | AliasKey |
Public Types | |
enum | Error { Confirmed, Rejected, NoResponse, NoServiceRelationship, ServiceRelationshipReestablished } |
enum | { LocalServiceRelationshipOrdinal = 0, NoServiceRelationshipOrdinal = 1, RemoteServiceRelationshipOrdinal = 2 } |
Public Member Functions | |
PSafePtr < H323PeerElementDescriptor > | GetFirstDescriptor (PSafetyMode mode=PSafeReference) |
PSafePtr < H323PeerElementServiceRelationship > | GetFirstLocalServiceRelationship (PSafetyMode mode=PSafeReference) |
PSafePtr < H323PeerElementServiceRelationship > | GetFirstRemoteServiceRelationship (PSafetyMode mode=PSafeReference) |
void | SetLocalName (const PString &name) |
PString | GetLocalName () const |
void | SetDomainName (const PString &name) |
PString | GetDomainName () const |
PBoolean | SetOnlyServiceRelationship (const PString &peer, PBoolean keepTrying=true) |
PBoolean | AddServiceRelationship (const H323TransportAddress &peer, PBoolean keepTrying=true) |
PBoolean | AddServiceRelationship (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID, PBoolean keepTrying=true) |
PBoolean | RemoveServiceRelationship (const OpalGloballyUniqueID &serviceID, int reason=H501_ServiceReleaseReason::e_terminated) |
PBoolean | RemoveServiceRelationship (const H323TransportAddress &peer, int reason=H501_ServiceReleaseReason::e_terminated) |
PBoolean | RemoveAllServiceRelationships () |
Error | ServiceRequestByAddr (const H323TransportAddress &peer) |
Error | ServiceRequestByAddr (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID) |
Error | ServiceRequestByID (OpalGloballyUniqueID &serviceID) |
PBoolean | ServiceRelease (const OpalGloballyUniqueID &serviceID, unsigned reason) |
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const PStringArray &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false) |
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false) |
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H225_ArrayOf_AliasAddress &transportAddr, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false) |
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H225_ArrayOf_AliasAddress &alias, const H225_ArrayOf_AliasAddress &transportAddresses, unsigned options=H323PeerElementDescriptor::Protocol_H323, PBoolean now=false) |
PBoolean | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H501_ArrayOf_AddressTemplate &addressTemplates, const PTime &updateTime, PBoolean now=false) |
PBoolean | DeleteDescriptor (const PString &alias, PBoolean now=false) |
PBoolean | DeleteDescriptor (const H225_AliasAddress &alias, PBoolean now=false) |
PBoolean | DeleteDescriptor (const OpalGloballyUniqueID &descriptorID, PBoolean now=false) |
PBoolean | AccessRequest (const PString &searchAlias, PStringArray &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
PBoolean | AccessRequest (const PString &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
PBoolean | AccessRequest (const H225_AliasAddress &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
PBoolean | AccessRequest (const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &destAliases, H225_AliasAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
PBoolean | UpdateDescriptor (H323PeerElementDescriptor *descriptor) |
PBoolean | UpdateDescriptor (H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendUpdateDescriptorByID (const OpalGloballyUniqueID &serviceID, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendUpdateDescriptorByAddr (const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendAccessRequestByID (const OpalGloballyUniqueID &peerID, H501PDU &request, H501PDU &confirmPDU) |
Error | SendAccessRequestByAddr (const H323TransportAddress &peerAddr, H501PDU &request, H501PDU &confirmPDU) |
PBoolean | MakeRequest (H323_AnnexG::Request &request) |
virtual void | OnAddServiceRelationship (const H323TransportAddress &) |
virtual void | OnRemoveServiceRelationship (const H323TransportAddress &) |
virtual void | OnNewDescriptor (const H323PeerElementDescriptor &) |
virtual void | OnUpdateDescriptor (const H323PeerElementDescriptor &) |
virtual void | OnRemoveDescriptor (const H323PeerElementDescriptor &) |
virtual H323Transaction::Response | OnServiceRequest (H501ServiceRequest &info) |
virtual H323Transaction::Response | OnDescriptorUpdate (H501DescriptorUpdate &info) |
virtual H323Transaction::Response | OnAccessRequest (H501AccessRequest &info) |
PBoolean | OnReceiveServiceRequest (const H501PDU &pdu, const H501_ServiceRequest &pduBody) |
PBoolean | OnReceiveServiceConfirmation (const H501PDU &pdu, const H501_ServiceConfirmation &pduBody) |
PBoolean | OnReceiveDescriptorUpdate (const H501PDU &pdu, const H501_DescriptorUpdate &pduBody) |
PBoolean | OnReceiveDescriptorUpdateACK (const H501PDU &pdu, const H501_DescriptorUpdateAck &pduBody) |
PBoolean | OnReceiveAccessRequest (const H501PDU &pdu, const H501_AccessRequest &pduBody) |
PBoolean | OnReceiveAccessConfirmation (const H501PDU &pdu, const H501_AccessConfirmation &pduBody) |
PBoolean | OnReceiveAccessRejection (const H501PDU &pdu, const H501_AccessRejection &pduBody) |
Construction | |
H323PeerElement (H323EndPoint &endpoint, H323Transport *transport=NULL) | |
H323PeerElement (H323EndPoint &endpoint, const H323TransportAddress &addr) | |
~H323PeerElement () | |
Overrides from PObject | |
void | PrintOn (ostream &strm) const |
Protected Member Functions | |
void | Construct () |
Error | SendUpdateDescriptor (H501PDU &pdu, const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
PBoolean | OnRemoteServiceRelationshipDisappeared (OpalGloballyUniqueID &serviceID, const H323TransportAddress &peer) |
void | InternalRemoveServiceRelationship (const H323TransportAddress &peer) |
H323Transaction::Response | HandleServiceRequest (H501ServiceRequest &info) |
virtual H323PeerElementDescriptor * | CreateDescriptor (const OpalGloballyUniqueID &descriptorID) |
virtual H323PeerElementServiceRelationship * | CreateServiceRelationship () |
virtual AliasKey * | CreateAliasKey (const H225_AliasAddress &alias, const OpalGloballyUniqueID &id, PINDEX pos, PBoolean wild=false) |
void | RemoveDescriptorInformation (const H501_ArrayOf_AddressTemplate &addressTemplates) |
PDECLARE_NOTIFIER (PThread, H323PeerElement, MonitorMain) | |
PDECLARE_NOTIFIER (PThread, H323PeerElement, UpdateAllDescriptors) | |
PDECLARE_NOTIFIER (PTimer, H323PeerElement, TickleMonitor) | |
PDICTIONARY (StringToOrdinalKey, PString, POrdinalKey) | |
PSORTED_LIST (AliasKeyList, H225_AliasAddress) | |
Protected Attributes | |
PMutex | localNameMutex |
PString | localIdentifier |
PString | domainName |
PSemaphore | requestMutex |
PThread * | monitor |
PBoolean | monitorStop |
PSyncPoint | monitorTickle |
PMutex | basePeerOrdinalMutex |
PINDEX | basePeerOrdinal |
PSafeSortedList < H323PeerElementServiceRelationship > | localServiceRelationships |
PMutex | localPeerListMutex |
POrdinalSet | localServiceOrdinals |
PMutex | remotePeerListMutex |
PSafeSortedList < H323PeerElementServiceRelationship > | remoteServiceRelationships |
PStringToString | remotePeerAddrToServiceID |
StringToOrdinalKey | remotePeerAddrToOrdinalKey |
PSafeSortedList < H323PeerElementDescriptor > | descriptors |
PMutex | aliasMutex |
AliasKeyList | transportAddressToDescriptorID |
AliasKeyList | specificAliasToDescriptorID |
AliasKeyList | wildcardAliasToDescriptorID |
This class embodies the an H.323 AnnexG server/client
anonymous enum |
H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint, |
H323Transport * | transport = NULL |
||
) |
Create a new client.
endpoint | Endpoint gatekeeper is associated with. |
H323PeerElement::H323PeerElement | ( | H323EndPoint & | endpoint, |
const H323TransportAddress & | addr | ||
) |
endpoint | Endpoint gatekeeper is associated with. |
H323PeerElement::~H323PeerElement | ( | ) |
Destroy client.
PBoolean H323PeerElement::AccessRequest | ( | const PString & | searchAlias, |
PStringArray & | destAliases, | ||
H323TransportAddress & | transportAddress, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 |
||
) |
Request access to an alias
PBoolean H323PeerElement::AccessRequest | ( | const PString & | searchAlias, |
H225_ArrayOf_AliasAddress & | destAliases, | ||
H323TransportAddress & | transportAddress, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 |
||
) |
PBoolean H323PeerElement::AccessRequest | ( | const H225_AliasAddress & | searchAlias, |
H225_ArrayOf_AliasAddress & | destAliases, | ||
H323TransportAddress & | transportAddress, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 |
||
) |
PBoolean H323PeerElement::AccessRequest | ( | const H225_AliasAddress & | alias, |
H225_ArrayOf_AliasAddress & | destAliases, | ||
H225_AliasAddress & | transportAddress, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 |
||
) |
PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
const H225_ArrayOf_AliasAddress & | aliases, | ||
const H323TransportAddressArray & | transportAddrs, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 , |
||
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
const H225_ArrayOf_AliasAddress & | aliases, | ||
const H225_ArrayOf_AliasAddress & | transportAddr, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 , |
||
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
const POrdinalKey & | creator, | ||
const H225_ArrayOf_AliasAddress & | alias, | ||
const H225_ArrayOf_AliasAddress & | transportAddresses, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 , |
||
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
const POrdinalKey & | creator, | ||
const H501_ArrayOf_AddressTemplate & | addressTemplates, | ||
const PTime & | updateTime, | ||
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::AddDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
const PStringArray & | aliases, | ||
const H323TransportAddressArray & | transportAddrs, | ||
unsigned | options = H323PeerElementDescriptor::Protocol_H323 , |
||
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::AddServiceRelationship | ( | const H323TransportAddress & | peer, |
OpalGloballyUniqueID & | serviceID, | ||
PBoolean | keepTrying = true |
||
) |
PBoolean H323PeerElement::AddServiceRelationship | ( | const H323TransportAddress & | peer, |
PBoolean | keepTrying = true |
||
) |
void H323PeerElement::Construct | ( | ) | [protected] |
Reimplemented from H323_AnnexG.
virtual AliasKey* H323PeerElement::CreateAliasKey | ( | const H225_AliasAddress & | alias, |
const OpalGloballyUniqueID & | id, | ||
PINDEX | pos, | ||
PBoolean | wild = false |
||
) | [protected, virtual] |
virtual H323PeerElementDescriptor* H323PeerElement::CreateDescriptor | ( | const OpalGloballyUniqueID & | descriptorID | ) | [protected, virtual] |
virtual H323PeerElementServiceRelationship* H323PeerElement::CreateServiceRelationship | ( | ) | [protected, virtual] |
PBoolean H323PeerElement::DeleteDescriptor | ( | const PString & | alias, |
PBoolean | now = false |
||
) |
Remove a descriptor from the local table
PBoolean H323PeerElement::DeleteDescriptor | ( | const H225_AliasAddress & | alias, |
PBoolean | now = false |
||
) |
PBoolean H323PeerElement::DeleteDescriptor | ( | const OpalGloballyUniqueID & | descriptorID, |
PBoolean | now = false |
||
) |
PString H323PeerElement::GetDomainName | ( | ) | const |
PSafePtr<H323PeerElementDescriptor> H323PeerElement::GetFirstDescriptor | ( | PSafetyMode | mode = PSafeReference | ) | [inline] |
References descriptors.
PSafePtr<H323PeerElementServiceRelationship> H323PeerElement::GetFirstLocalServiceRelationship | ( | PSafetyMode | mode = PSafeReference | ) | [inline] |
References localServiceRelationships.
PSafePtr<H323PeerElementServiceRelationship> H323PeerElement::GetFirstRemoteServiceRelationship | ( | PSafetyMode | mode = PSafeReference | ) | [inline] |
References remoteServiceRelationships.
PString H323PeerElement::GetLocalName | ( | ) | const |
H323Transaction::Response H323PeerElement::HandleServiceRequest | ( | H501ServiceRequest & | info | ) | [protected] |
void H323PeerElement::InternalRemoveServiceRelationship | ( | const H323TransportAddress & | peer | ) | [protected] |
PBoolean H323PeerElement::MakeRequest | ( | H323_AnnexG::Request & | request | ) | [virtual] |
Reimplemented from H323Transactor.
virtual H323Transaction::Response H323PeerElement::OnAccessRequest | ( | H501AccessRequest & | info | ) | [virtual] |
virtual void H323PeerElement::OnAddServiceRelationship | ( | const H323TransportAddress & | ) | [inline, virtual] |
virtual H323Transaction::Response H323PeerElement::OnDescriptorUpdate | ( | H501DescriptorUpdate & | info | ) | [virtual] |
virtual void H323PeerElement::OnNewDescriptor | ( | const H323PeerElementDescriptor & | ) | [inline, virtual] |
PBoolean H323PeerElement::OnReceiveAccessConfirmation | ( | const H501PDU & | pdu, |
const H501_AccessConfirmation & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveAccessRejection | ( | const H501PDU & | pdu, |
const H501_AccessRejection & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveAccessRequest | ( | const H501PDU & | pdu, |
const H501_AccessRequest & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveDescriptorUpdate | ( | const H501PDU & | pdu, |
const H501_DescriptorUpdate & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveDescriptorUpdateACK | ( | const H501PDU & | pdu, |
const H501_DescriptorUpdateAck & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveServiceConfirmation | ( | const H501PDU & | pdu, |
const H501_ServiceConfirmation & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnReceiveServiceRequest | ( | const H501PDU & | pdu, |
const H501_ServiceRequest & | pduBody | ||
) | [virtual] |
Reimplemented from H323_AnnexG.
PBoolean H323PeerElement::OnRemoteServiceRelationshipDisappeared | ( | OpalGloballyUniqueID & | serviceID, |
const H323TransportAddress & | peer | ||
) | [protected] |
virtual void H323PeerElement::OnRemoveDescriptor | ( | const H323PeerElementDescriptor & | ) | [inline, virtual] |
virtual void H323PeerElement::OnRemoveServiceRelationship | ( | const H323TransportAddress & | ) | [inline, virtual] |
virtual H323Transaction::Response H323PeerElement::OnServiceRequest | ( | H501ServiceRequest & | info | ) | [virtual] |
virtual void H323PeerElement::OnUpdateDescriptor | ( | const H323PeerElementDescriptor & | ) | [inline, virtual] |
H323PeerElement::PDECLARE_NOTIFIER | ( | PTimer | , |
H323PeerElement | , | ||
TickleMonitor | |||
) | [protected] |
H323PeerElement::PDECLARE_NOTIFIER | ( | PThread | , |
H323PeerElement | , | ||
UpdateAllDescriptors | |||
) | [protected] |
H323PeerElement::PDECLARE_NOTIFIER | ( | PThread | , |
H323PeerElement | , | ||
MonitorMain | |||
) | [protected] |
H323PeerElement::PDICTIONARY | ( | StringToOrdinalKey | , |
PString | , | ||
POrdinalKey | |||
) | [protected] |
void H323PeerElement::PrintOn | ( | ostream & | strm | ) | const |
Print the name of the peer element.
strm | Stream to print to. |
Reimplemented from H323_AnnexG.
H323PeerElement::PSORTED_LIST | ( | AliasKeyList | , |
H225_AliasAddress | |||
) | [protected] |
PBoolean H323PeerElement::RemoveAllServiceRelationships | ( | ) |
void H323PeerElement::RemoveDescriptorInformation | ( | const H501_ArrayOf_AddressTemplate & | addressTemplates | ) | [protected] |
PBoolean H323PeerElement::RemoveServiceRelationship | ( | const OpalGloballyUniqueID & | serviceID, |
int | reason = H501_ServiceReleaseReason::e_terminated |
||
) |
PBoolean H323PeerElement::RemoveServiceRelationship | ( | const H323TransportAddress & | peer, |
int | reason = H501_ServiceReleaseReason::e_terminated |
||
) |
Error H323PeerElement::SendAccessRequestByAddr | ( | const H323TransportAddress & | peerAddr, |
H501PDU & | request, | ||
H501PDU & | confirmPDU | ||
) |
Error H323PeerElement::SendAccessRequestByID | ( | const OpalGloballyUniqueID & | peerID, |
H501PDU & | request, | ||
H501PDU & | confirmPDU | ||
) |
Error H323PeerElement::SendUpdateDescriptor | ( | H501PDU & | pdu, |
const H323TransportAddress & | peer, | ||
H323PeerElementDescriptor * | descriptor, | ||
H501_UpdateInformation_updateType::Choices | updateType | ||
) | [protected] |
Error H323PeerElement::SendUpdateDescriptorByAddr | ( | const H323TransportAddress & | peer, |
H323PeerElementDescriptor * | descriptor, | ||
H501_UpdateInformation_updateType::Choices | updateType | ||
) |
Error H323PeerElement::SendUpdateDescriptorByID | ( | const OpalGloballyUniqueID & | serviceID, |
H323PeerElementDescriptor * | descriptor, | ||
H501_UpdateInformation_updateType::Choices | updateType | ||
) |
PBoolean H323PeerElement::ServiceRelease | ( | const OpalGloballyUniqueID & | serviceID, |
unsigned | reason | ||
) |
Send a service release
Error H323PeerElement::ServiceRequestByAddr | ( | const H323TransportAddress & | peer, |
OpalGloballyUniqueID & | serviceID | ||
) |
Error H323PeerElement::ServiceRequestByAddr | ( | const H323TransportAddress & | peer | ) |
Error H323PeerElement::ServiceRequestByID | ( | OpalGloballyUniqueID & | serviceID | ) |
void H323PeerElement::SetDomainName | ( | const PString & | name | ) |
void H323PeerElement::SetLocalName | ( | const PString & | name | ) |
PBoolean H323PeerElement::SetOnlyServiceRelationship | ( | const PString & | peer, |
PBoolean | keepTrying = true |
||
) |
Send a service request
PBoolean H323PeerElement::UpdateDescriptor | ( | H323PeerElementDescriptor * | descriptor | ) |
PBoolean H323PeerElement::UpdateDescriptor | ( | H323PeerElementDescriptor * | descriptor, |
H501_UpdateInformation_updateType::Choices | updateType | ||
) |
PMutex H323PeerElement::aliasMutex [protected] |
PINDEX H323PeerElement::basePeerOrdinal [protected] |
PMutex H323PeerElement::basePeerOrdinalMutex [protected] |
PSafeSortedList<H323PeerElementDescriptor> H323PeerElement::descriptors [protected] |
Referenced by GetFirstDescriptor().
PString H323PeerElement::domainName [protected] |
PString H323PeerElement::localIdentifier [protected] |
PMutex H323PeerElement::localNameMutex [protected] |
PMutex H323PeerElement::localPeerListMutex [protected] |
POrdinalSet H323PeerElement::localServiceOrdinals [protected] |
PSafeSortedList<H323PeerElementServiceRelationship> H323PeerElement::localServiceRelationships [protected] |
Referenced by GetFirstLocalServiceRelationship().
PThread* H323PeerElement::monitor [protected] |
PBoolean H323PeerElement::monitorStop [protected] |
PSyncPoint H323PeerElement::monitorTickle [protected] |
StringToOrdinalKey H323PeerElement::remotePeerAddrToOrdinalKey [protected] |
PStringToString H323PeerElement::remotePeerAddrToServiceID [protected] |
PMutex H323PeerElement::remotePeerListMutex [protected] |
PSafeSortedList<H323PeerElementServiceRelationship> H323PeerElement::remoteServiceRelationships [protected] |
Referenced by GetFirstRemoteServiceRelationship().
PSemaphore H323PeerElement::requestMutex [protected] |
AliasKeyList H323PeerElement::specificAliasToDescriptorID [protected] |
AliasKeyList H323PeerElement::transportAddressToDescriptorID [protected] |
AliasKeyList H323PeerElement::wildcardAliasToDescriptorID [protected] |