From 647631facd862b0e64435594f942882d0d17d2a7 Mon Sep 17 00:00:00 2001 From: Andrea Gianarda <andrea.gianarda@belledonne-communications.com> Date: Mon, 11 Apr 2022 16:18:45 +0200 Subject: [PATCH] Implement changes in the SIP signaling to enable encrypted conferences: - a RecvOnly audio stream with content DTX and the participant label for each participant of the conference. A secured conference will have N audio streams (1 sendrecv for the local participant and N-1 recvonly for the other participants) - add security level to the conference parameters - pass security level information to the conference server - add encryption information to the database table storing conferences - pass security level down to MSAudioConference and MSVideoConference objects - add extra video stream for encrypted conference in active speaker layout --- coreapi/callbacks.c | 1 + coreapi/conference.cc | 201 +- coreapi/conference_private.h | 18 +- coreapi/linphoneconference.c | 18 +- coreapi/linphonecore.c | 95 +- coreapi/misc.c | 79 +- coreapi/private_functions.h | 1 + coreapi/proxy.c | 1 + include/linphone/api/c-conference-info.h | 16 + include/linphone/conference.h | 17 + include/linphone/enums/conference-enums.h | 11 + src/CMakeLists.txt | 2 + src/account/account.cpp | 4 +- src/account/account.h | 3 +- src/c-wrapper/api/c-conference-info.cpp | 10 + src/c-wrapper/api/c-event.cpp | 1 + src/c-wrapper/internal/c-sal.h | 1 + src/call/call-log.h | 2 +- src/call/call.cpp | 4 +- src/call/call.h | 10 +- src/chat/ics/ics.cpp | 5 + src/conference/conference-info.cpp | 8 + src/conference/conference-info.h | 35 +- src/conference/conference-interface.h | 94 - .../conference-params-interface.cpp | 61 + src/conference/conference-params-interface.h | 140 + src/conference/conference-params.cpp | 25 +- src/conference/conference-params.h | 14 +- src/conference/conference-scheduler.cpp | 1 + src/conference/conference.cpp | 76 +- src/conference/conference.h | 19 +- .../local-conference-event-handler.cpp | 32 +- .../remote-conference-event-handler.cpp | 26 +- src/conference/local-conference.cpp | 1 + src/conference/participant-device.cpp | 63 +- src/conference/participant-device.h | 11 +- src/conference/participant.cpp | 10 +- src/conference/session/audio-mixer.cpp | 1 + src/conference/session/call-session.cpp | 18 +- src/conference/session/media-session-p.h | 26 +- src/conference/session/media-session.cpp | 622 +- src/conference/session/media-session.h | 2 +- src/conference/session/mixer-session.cpp | 8 + src/conference/session/mixers.h | 31 +- src/conference/session/ms2-stream.cpp | 5 + src/conference/session/streams-group.cpp | 17 +- src/conference/session/tone-manager.cpp | 20 +- src/conference/session/video-mixer.cpp | 1 + src/conference/session/video-stream.cpp | 2 +- src/core/core.cpp | 7 +- src/core/core.h | 1 + src/db/main-db.cpp | 92 +- src/event/event-publish.cpp | 1 + src/event/event-publish.h | 2 + src/sal/sal_media_description.cpp | 200 +- src/sal/sal_media_description.h | 22 +- src/sal/sal_stream_configuration.cpp | 52 +- src/sal/sal_stream_description.cpp | 157 +- src/sal/sal_stream_description.h | 1 + .../conference-info-linphone-extension.cpp | 2402 ++- src/xml/conference-info-linphone-extension.h | 1281 +- .../conference-info-linphone-extension.xsd | 9 + src/xml/conference-info.cpp | 15650 +++++++++------- src/xml/conference-info.h | 5376 +++--- src/xml/imdn.cpp | 5665 +++--- src/xml/imdn.h | 2523 +-- src/xml/is-composing.cpp | 1538 +- src/xml/is-composing.h | 964 +- src/xml/linphone-imdn.cpp | 1117 +- src/xml/linphone-imdn.h | 854 +- src/xml/resource-lists.cpp | 4139 ++-- src/xml/resource-lists.h | 1886 +- src/xml/rlmi.cpp | 3420 ++-- src/xml/rlmi.h | 1640 +- src/xml/xml.cpp | 684 +- src/xml/xml.h | 644 +- tester/audio_video_conference_tester.c | 35 +- tester/local_conference_tester.cpp | 1244 +- tester/main-db-tester.cpp | 7 +- tester/shared_tester_functions.cpp | 61 +- tester/shared_tester_functions.h | 18 +- tester/tester.c | 1 - 82 files changed, 31504 insertions(+), 22058 deletions(-) create mode 100644 src/conference/conference-params-interface.cpp create mode 100644 src/conference/conference-params-interface.h diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index d9621c0a65..0f0334af84 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -54,6 +54,7 @@ #include "conference/session/media-session-p.h" #include "conference/session/media-session.h" #include "core/core-p.h" +#include "event/event-publish.h" #include "event/event.h" #include "factory/factory.h" diff --git a/coreapi/conference.cc b/coreapi/conference.cc index ec417a6a2b..7c88653a12 100644 --- a/coreapi/conference.cc +++ b/coreapi/conference.cc @@ -23,6 +23,7 @@ #include <string> #include <typeinfo> +#include "bctoolbox/crypto.hh" #include <bctoolbox/defs.h> #include <mediastreamer2/msvolume.h> @@ -94,17 +95,17 @@ Conference::Conference(const shared_ptr<Core> &core, setState(ConferenceInterface::State::CreationFailed); } - m_coreCbs = nullptr; - m_coreCbs = linphone_factory_create_core_cbs(linphone_factory_get()); - linphone_core_cbs_set_call_state_changed(m_coreCbs, callStateChanged); - linphone_core_cbs_set_transfer_state_changed(m_coreCbs, transferStateChanged); - linphone_core_cbs_set_user_data(m_coreCbs, this); - _linphone_core_add_callbacks(getCore()->getCCore(), m_coreCbs, TRUE); + mCoreCbs = nullptr; + mCoreCbs = linphone_factory_create_core_cbs(linphone_factory_get()); + linphone_core_cbs_set_call_state_changed(mCoreCbs, callStateChanged); + linphone_core_cbs_set_transfer_state_changed(mCoreCbs, transferStateChanged); + linphone_core_cbs_set_user_data(mCoreCbs, this); + _linphone_core_add_callbacks(getCore()->getCCore(), mCoreCbs, TRUE); } Conference::~Conference() { - linphone_core_remove_callbacks(getCore()->getCCore(), m_coreCbs); - linphone_core_cbs_unref(m_coreCbs); + linphone_core_remove_callbacks(getCore()->getCCore(), mCoreCbs); + linphone_core_cbs_unref(mCoreCbs); } void Conference::setInputAudioDevice(const shared_ptr<AudioDevice> &audioDevice) { @@ -477,6 +478,27 @@ void Conference::setState(LinphonePrivate::ConferenceInterface::State state) { } } +std::shared_ptr<ConferenceInfo> +Conference::createConferenceInfoWithOrganizer(const std::shared_ptr<Address> &organizer) const { + + std::list<std::shared_ptr<Address>> participantAddresses; + if (!invitedAddresses.empty()) { + participantAddresses = invitedAddresses; + } + + // Add participants that are not part of the invitees'list + for (const auto &p : getParticipants()) { + const auto &pAddress = p->getAddress(); + auto pIt = std::find_if(participantAddresses.begin(), participantAddresses.end(), + [&pAddress](const auto &address) { return (pAddress->weakEqual(*address)); }); + if (pIt == participantAddresses.end()) { + participantAddresses.push_back(pAddress); + } + } + + return createConferenceInfoWithCustomParticipantList(organizer, participantAddresses); +} + void Conference::notifyStateChanged(LinphonePrivate::ConferenceInterface::State state) { // Call listeners LinphonePrivate::Conference::notifyStateChanged(state); @@ -554,6 +576,8 @@ LocalConference::LocalConference(const shared_ptr<Core> &core, confParams->enableVideo(false); } mMixerSession.reset(new MixerSession(*core.get())); + mMixerSession->setSecurityLevel(confParams->getSecurityLevel()); + setState(ConferenceInterface::State::Instantiated); organizer = myAddress; @@ -605,6 +629,7 @@ LocalConference::LocalConference(const std::shared_ptr<Core> &core, SalCallOp *o #endif // HAVE_ADVANCED_IM mMixerSession.reset(new MixerSession(*core.get())); + setState(ConferenceInterface::State::Instantiated); configure(op); @@ -696,7 +721,7 @@ void LocalConference::updateConferenceInformation(SalCallOp *op) { auto invitees = Utils::parseResourceLists(resourceList); invitedAddresses.insert(invitedAddresses.begin(), invitees.begin(), invitees.end()); } - const auto &conferenceInfo = createConferenceInfo(organizer, invitedAddresses); + const auto &conferenceInfo = createConferenceInfoWithCustomParticipantList(organizer, invitedAddresses); auto infoState = ConferenceInfo::State::New; if (resourceList.isEmpty()) { infoState = ConferenceInfo::State::Cancelled; @@ -762,6 +787,21 @@ void LocalConference::configure(SalCallOp *op) { // If start time or end time is not -1, then the client wants to update the conference const auto isUpdate = (admin && ((startTimeSdp != -1) || (endTimeSdp != -1)) && info); + ConferenceParams::SecurityLevel securityLevel = ConferenceParams::SecurityLevel::None; + if (createdConference && info) { + securityLevel = info->getSecurityLevel(); + } else { + const auto &toAddrStr = op->getTo(); + Address toAddr(toAddrStr); + if (toAddr.hasUriParam("conference-security-mode")) { + securityLevel = + ConferenceParams::getSecurityLevelFromAttribute(toAddr.getUriParamValue("conference-security-mode")); + } + } + confParams->setSecurityLevel(securityLevel); + + mMixerSession->setSecurityLevel(confParams->getSecurityLevel()); + if (isUpdate || (admin && !createdConference)) { // The following informations are retrieved from the received INVITE: // - start and end time from the SDP active time attribute @@ -916,7 +956,6 @@ void LocalConference::confirmCreation() { conferenceAddress->setUriParam("conf-id", confId); setConferenceId(ConferenceId(conferenceAddress, conferenceAddress)); } - const_cast<LinphonePrivate::CallSessionParamsPrivate *>(L_GET_PRIVATE(session->getParams())) ->setInConference(true); session->getPrivate()->setConferenceId(confId); @@ -950,32 +989,8 @@ void LocalConference::confirmCreation() { } } -std::shared_ptr<ConferenceInfo> LocalConference::createOrGetConferenceInfo() const { -#ifdef HAVE_DB_STORAGE - auto &mainDb = getCore()->getPrivate()->mainDb; - if (mainDb) { - std::shared_ptr<ConferenceInfo> conferenceInfo = - getCore()->getPrivate()->mainDb->getConferenceInfoFromURI(getConferenceAddress()); - if (conferenceInfo) { - return conferenceInfo; - } - } -#endif // HAVE_DB_STORAGE - - std::list<std::shared_ptr<Address>> participantAddresses; - if (!invitedAddresses.empty()) { - participantAddresses = invitedAddresses; - } - for (const auto &p : getParticipants()) { - const auto &pAddress = p->getAddress(); - auto pIt = std::find_if(participantAddresses.begin(), participantAddresses.end(), - [&pAddress](const auto &address) { return address->weakEqual(*pAddress); }); - if (pIt == participantAddresses.end()) { - participantAddresses.push_back(pAddress); - } - } - - return createConferenceInfo(organizer, participantAddresses); +std::shared_ptr<ConferenceInfo> LocalConference::createConferenceInfo() const { + return createConferenceInfoWithOrganizer(organizer); } void LocalConference::finalizeCreation() { @@ -1086,7 +1101,7 @@ void LocalConference::addLocalEndpoint() { auto meSsrc = media_stream_get_send_ssrc(&videoStream->ms); for (auto &device : me->getDevices()) { device->setSsrc(LinphoneStreamTypeVideo, meSsrc); - videoMixer->setLocalParticipantLabel(device->getLabel()); + videoMixer->setLocalParticipantLabel(device->getLabel(LinphoneStreamTypeVideo)); } #endif // VIDEO_ENABLED VideoControlInterface *vci = getVideoControlInterface(); @@ -1506,7 +1521,9 @@ bool LocalConference::addParticipantDevice(std::shared_ptr<LinphonePrivate::Call : ParticipantDevice::JoiningMethod::DialedOut); char label[LinphonePrivate::Conference::labelLength]; belle_sip_random_token(label, sizeof(label)); - device->setLabel(label); + device->setLabel(label, LinphoneStreamTypeAudio); + belle_sip_random_token(label, sizeof(label)); + device->setLabel(label, LinphoneStreamTypeVideo); auto op = session->getPrivate()->getOp(); auto displayName = L_C_TO_STRING(sal_address_get_display_name( (call->getDirection() == LinphoneCallIncoming) ? op->getFromAddress() : op->getToAddress())); @@ -1533,7 +1550,9 @@ bool LocalConference::tryAddMeDevice() { char label[Conference::labelLength]; belle_sip_random_token(label, sizeof(label)); - meDev->setLabel(label); + meDev->setLabel(label, LinphoneStreamTypeAudio); + belle_sip_random_token(label, sizeof(label)); + meDev->setLabel(label, LinphoneStreamTypeVideo); meDev->setSession(meSession); meDev->setJoiningMethod(ParticipantDevice::JoiningMethod::FocusOwner); meDev->setState(ParticipantDevice::State::Present); @@ -2229,19 +2248,39 @@ void LocalConference::leave() { } } +bool LocalConference::validateNewParameters(const LinphonePrivate::ConferenceParams &newConfParams) const { + if (!confParams) { + return true; + } + + if (confParams->getConferenceFactoryAddress() != newConfParams.getConferenceFactoryAddress()) { + lError() << "Factory address change is not allowed: actual " << confParams->getConferenceFactoryAddress() + << " new value " << newConfParams.getConferenceFactoryAddress(); + return false; + } + + if (confParams->getConferenceAddress() != newConfParams.getConferenceAddress()) { + lError() << "Conference address change is not allowed: actual " << confParams->getConferenceAddress() + << " new value " << newConfParams.getConferenceAddress(); + return false; + } + + if (confParams->getSecurityLevel() != newConfParams.getSecurityLevel()) { + lError() << "Conference security level change is not allowed: actual " << confParams->getSecurityLevel() + << " new value " << newConfParams.getSecurityLevel(); + return false; + } + + return true; +} + bool LocalConference::update(const LinphonePrivate::ConferenceParamsInterface &newParameters) { /* Only adding or removing video is supported. */ bool previousVideoEnablement = confParams->videoEnabled(); bool previousAudioEnablement = confParams->audioEnabled(); bool previousChatEnablement = confParams->chatEnabled(); const LinphonePrivate::ConferenceParams &newConfParams = static_cast<const ConferenceParams &>(newParameters); - if (confParams && ((confParams->getConferenceFactoryAddress() != newConfParams.getConferenceFactoryAddress()) || - (confParams->getConferenceAddress() != newConfParams.getConferenceAddress()))) { - lError() << "Trying to change frozen conference parameters:"; - lError() << " - factory address: actual " << confParams->getConferenceFactoryAddress() << " new value " - << newConfParams.getConferenceFactoryAddress(); - lError() << " - conference address: actual " << confParams->getConferenceAddress() << " new value " - << newConfParams.getConferenceAddress(); + if (!validateNewParameters(newConfParams)) { return false; } confParams = ConferenceParams::create(newConfParams); @@ -2361,6 +2400,7 @@ void LocalConference::callStateChangedCb(LinphoneCore *lc, auto cppCall = Call::toCpp(call)->getSharedFromThis(); if (conf && conf->getSharedFromThis() == cppCall->getConference()) { const auto &session = cppCall->getActiveSession(); + const std::shared_ptr<Address> &remoteAddress = cppCall->getRemoteAddress(); switch (cstate) { case LinphoneCallStateOutgoingRinging: participantDeviceAlerting(session); @@ -2373,7 +2413,6 @@ void LocalConference::callStateChangedCb(LinphoneCore *lc, case LinphoneCallStateStreamsRunning: { if (!addParticipantDevice(cppCall)) { // If the participant is already in the conference - const std::shared_ptr<Address> &remoteAddress = cppCall->getRemoteAddress(); const auto &participant = findParticipant(remoteAddress); const auto &device = findParticipantDevice(session); const auto &deviceState = @@ -2435,7 +2474,7 @@ void LocalConference::callStateChangedCb(LinphoneCore *lc, setParticipantAdminStatus(participant, admin); } else { lError() << "Unable to update admin status and device address as no participant with address " - << remoteAddress << " has been found in conference " << *getConferenceAddress(); + << *remoteAddress << " has been found in conference " << *getConferenceAddress(); } if (device) { if (deviceState == ParticipantDevice::State::Present) { @@ -2471,8 +2510,7 @@ void LocalConference::callStateChangedCb(LinphoneCore *lc, // If a call in a local conference is paused by remote, it means that the remote participant temporarely // left the call, hence notify that no audio and video is available lInfo() << "Call in conference has been put on hold by remote device, hence participant " - << session->getRemoteAddress()->toString() << " temporarely left conference " - << *getConferenceAddress(); + << *remoteAddress << " temporarely left conference " << *getConferenceAddress(); participantDeviceLeft(session); break; case LinphoneCallStateUpdatedByRemote: { @@ -2502,8 +2540,8 @@ void LocalConference::callStateChangedCb(LinphoneCore *lc, case LinphoneCallStateEnd: case LinphoneCallStateError: lInfo() << "Removing terminated call (local address " << session->getLocalAddress()->toString() - << " remote address " << session->getRemoteAddress()->toString() << ") from conference " << this - << " (" << *getConferenceAddress() << ")"; + << " remote address " << *remoteAddress << ") from conference " << this << " (" + << *getConferenceAddress() << ")"; if (session->getErrorInfo() && (linphone_error_info_get_reason(session->getErrorInfo()) == LinphoneReasonBusy)) { removeParticipantDevice(session); @@ -2623,7 +2661,7 @@ RemoteConference::RemoteConference(const shared_ptr<Core> &core, : Conference(core, conferenceId.getLocalAddress(), listener, params) { focus = Participant::create(this, confAddr, focusSession); - lInfo() << "Create focus '" << focus->getAddress() << "' from address : " << confAddr; + lInfo() << "Create focus '" << *focus->getAddress() << "' from address : " << *confAddr; confParams->enableLocalParticipant(false); pendingSubject = confParams->getSubject(); @@ -2646,7 +2684,6 @@ RemoteConference::RemoteConference(const shared_ptr<Core> &core, setConferenceId(conferenceId); setConferenceAddress(confAddr); - finalizeCreation(); } @@ -2697,7 +2734,6 @@ RemoteConference::RemoteConference(const shared_ptr<Core> &core, setState(ConferenceInterface::State::Instantiated); setConferenceAddress(conferenceAddress); - finalizeCreation(); } @@ -2739,38 +2775,11 @@ void RemoteConference::finalizeCreation() { } } -std::shared_ptr<ConferenceInfo> RemoteConference::createOrGetConferenceInfo() const { -#ifdef HAVE_DB_STORAGE - auto &mainDb = getCore()->getPrivate()->mainDb; - if (mainDb) { - std::shared_ptr<ConferenceInfo> conferenceInfo = - getCore()->getPrivate()->mainDb->getConferenceInfoFromURI(getConferenceAddress()); - if (conferenceInfo) { - return conferenceInfo; - } - } -#endif // HAVE_DB_STORAGE - +std::shared_ptr<ConferenceInfo> RemoteConference::createConferenceInfo() const { auto session = static_pointer_cast<MediaSession>(getMainSession()); const auto referer = (session ? L_GET_PRIVATE(session->getMediaParams())->getReferer() : nullptr); const auto organizer = (referer) ? referer->getRemoteAddress() : getMe()->getAddress(); - - std::list<std::shared_ptr<Address>> participantAddresses; - if (!invitedAddresses.empty()) { - participantAddresses = invitedAddresses; - } - - // Add participants that are not part of the invitees'list - for (const auto &p : getParticipants()) { - const auto &pAddress = p->getAddress(); - auto pIt = std::find_if(participantAddresses.begin(), participantAddresses.end(), - [&pAddress](const auto &address) { return (pAddress->weakEqual(*address)); }); - if (pIt == participantAddresses.end()) { - participantAddresses.push_back(pAddress); - } - } - - return createConferenceInfo(organizer, participantAddresses); + return createConferenceInfoWithOrganizer(organizer); } void RemoteConference::setMainSession(const std::shared_ptr<LinphonePrivate::CallSession> &session) { @@ -3404,10 +3413,8 @@ bool RemoteConference::transferToFocus(std::shared_ptr<LinphonePrivate::Call> ca const auto &remoteAddress = call->getRemoteAddress(); lInfo() << "Transfering call (local address " << call->getLocalAddress()->toString() << " remote address " << (remoteAddress ? remoteAddress->toString() : "Unknown") << ") to focus " << referToAddr; -#ifdef HAVE_DB_STORAGE const auto &participantAddress = participant->getAddress(); updateParticipantsInConferenceInfo(participantAddress); -#endif if (call->transfer(referToAddr->toString()) == 0) { m_transferingCalls.push_back(call); return true; @@ -3454,9 +3461,7 @@ void RemoteConference::onFocusCallStateChanged(LinphoneCallState state) { switch (state) { case LinphoneCallStreamsRunning: { -#ifdef HAVE_DB_STORAGE updateParticipantsInConferenceInfo(getMe()->getAddress()); -#endif const auto &previousState = session->getPreviousState(); // NOTIFY that a participant has been added only if it follows a resume of the call if (previousState == CallSession::State::Resuming) { @@ -3865,10 +3870,8 @@ void RemoteConference::onParticipantAdded(const shared_ptr<ConferenceParticipant const std::shared_ptr<Participant> &participant) { const std::shared_ptr<Address> &pAddr = event->getParticipantAddress(); -#ifdef HAVE_DB_STORAGE const auto &participantAddress = participant->getAddress(); updateParticipantsInConferenceInfo(participantAddress); -#endif if (isMe(pAddr)) { if (getState() == ConferenceInterface::State::CreationPending) { @@ -3975,10 +3978,18 @@ void RemoteConference::onParticipantDeviceStateChanged( return (*devAddr == contactAddress); }); + const auto &audioDir = device->getStreamCapability(LinphoneStreamTypeAudio); + const auto &confSecurityLevel = confParams->getSecurityLevel(); + const auto audioNeedsReInvite = + ((confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd) && confParams->audioEnabled() && + params->audioEnabled() && + ((audioDir == LinphoneMediaDirectionSendOnly) || (audioDir == LinphoneMediaDirectionSendRecv))); const auto &videoDir = device->getStreamCapability(LinphoneStreamTypeVideo); - if (confParams->videoEnabled() && params->videoEnabled() && (getState() == ConferenceInterface::State::Created) && - (callIt == m_pendingCalls.cend()) && isIn() && (device->getState() == ParticipantDevice::State::Present) && - ((videoDir == LinphoneMediaDirectionSendOnly) || (videoDir == LinphoneMediaDirectionSendRecv))) { + const auto videoNeedsReInvite = + (confParams->videoEnabled() && params->videoEnabled() && + ((videoDir == LinphoneMediaDirectionSendOnly) || (videoDir == LinphoneMediaDirectionSendRecv))); + if ((getState() == ConferenceInterface::State::Created) && (callIt == m_pendingCalls.cend()) && isIn() && + (device->getState() == ParticipantDevice::State::Present) && ((videoNeedsReInvite || audioNeedsReInvite))) { auto updateSession = [this, device]() -> LinphoneStatus { lInfo() << "Sending re-INVITE in order to get streams for participant device " << *device->getAddress() << " that joined recently the conference " << *getConferenceAddress(); @@ -3998,7 +4009,6 @@ void RemoteConference::onParticipantDeviceStateChanged( } void RemoteConference::onParticipantDeviceMediaAvailabilityChanged( - BCTBX_UNUSED(const std::shared_ptr<ConferenceParticipantDeviceEvent> &event), const std::shared_ptr<ParticipantDevice> &device) { if ((!isMe(device->getAddress())) && (getState() == ConferenceInterface::State::Created) && isIn()) { @@ -4020,7 +4030,8 @@ void RemoteConference::onParticipantDeviceMediaAvailabilityChanged( } void RemoteConference::onFullStateReceived() { - + // When receiving a full state, we must recreate the conference informations in order to get the security level and + // the participant list up to date const auto conferenceInfo = createOrGetConferenceInfo(); auto callLog = getMainSession() ? getMainSession()->getLog() : nullptr; if (callLog) { diff --git a/coreapi/conference_private.h b/coreapi/conference_private.h index d5ff240784..0a20ed1cf5 100644 --- a/coreapi/conference_private.h +++ b/coreapi/conference_private.h @@ -226,14 +226,13 @@ public: protected: std::list<std::shared_ptr<Address>> invitedAddresses; - std::shared_ptr<LinphonePrivate::ConferenceInfo> conferenceInfo = nullptr; // Legacy member std::string mConferenceID; LinphoneConferenceStateChangedCb mStateChangedCb = nullptr; void *mCbUserData = nullptr; - LinphoneCoreCbs *m_coreCbs; + LinphoneCoreCbs *mCoreCbs; static void callStateChanged(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message); static void transferStateChanged(LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state); @@ -242,6 +241,9 @@ protected: callStateChangedCb(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message) = 0; virtual void transferStateChangedCb(LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state) = 0; + + virtual std::shared_ptr<ConferenceInfo> + createConferenceInfoWithOrganizer(const std::shared_ptr<Address> &organizer) const override; }; /* @@ -382,6 +384,7 @@ private: std::shared_ptr<Address> organizer; static constexpr int confIdLength = 10; + bool validateNewParameters(const LinphonePrivate::ConferenceParams &newConfParams) const; bool updateAllParticipantSessionsExcept(const std::shared_ptr<CallSession> &session); void updateParticipantsSessions(); void updateParticipantDeviceSession(const std::shared_ptr<ParticipantDevice> &device, @@ -399,7 +402,7 @@ private: std::shared_ptr<LocalAudioVideoConferenceEventHandler> eventHandler; #endif // HAVE_ADVANCED_IM - virtual std::shared_ptr<ConferenceInfo> createOrGetConferenceInfo() const override; + virtual std::shared_ptr<ConferenceInfo> createConferenceInfo() const override; bool tryAddMeDevice(); }; @@ -425,7 +428,6 @@ public: const std::list<std::shared_ptr<Address>> &invitees, CallSessionListener *listener, const std::shared_ptr<LinphonePrivate::ConferenceParams> params); - virtual ~RemoteConference(); virtual int inviteAddresses(const std::list<std::shared_ptr<Address>> &addresses, @@ -536,7 +538,7 @@ protected: private: virtual const std::shared_ptr<CallSession> getMainSession() const override; - virtual std::shared_ptr<ConferenceInfo> createOrGetConferenceInfo() const override; + virtual std::shared_ptr<ConferenceInfo> createConferenceInfo() const override; bool focusIsReady() const; bool transferToFocus(std::shared_ptr<LinphonePrivate::Call> call); void reset(); @@ -546,6 +548,7 @@ private: void onPendingCallStateChanged(std::shared_ptr<LinphonePrivate::Call> call, LinphoneCallState callState); void onTransferingCallStateChanged(std::shared_ptr<LinphonePrivate::Call> transfered, LinphoneCallState newCallState); + std::list<std::shared_ptr<Address>> cleanAddressesList(const std::list<std::shared_ptr<Address>> &addresses) const; bool finalized = false; bool scheduleUpdate = false; @@ -555,11 +558,12 @@ private: std::list<std::shared_ptr<LinphonePrivate::Call>> m_pendingCalls; std::list<std::shared_ptr<LinphonePrivate::Call>> m_transferingCalls; - std::list<std::shared_ptr<Address>> cleanAddressesList(const std::list<std::shared_ptr<Address>> &addresses) const; - uint32_t displayedSpeaker = 0; uint32_t louderSpeaker = 0; uint32_t lastNotifiedSsrc = 0; + + // end-to-end encryption + std::vector<uint8_t> mEktKey; }; } // end of namespace MediaConference diff --git a/coreapi/linphoneconference.c b/coreapi/linphoneconference.c index 394968a83e..b99100b5d6 100644 --- a/coreapi/linphoneconference.c +++ b/coreapi/linphoneconference.c @@ -24,20 +24,21 @@ #include <unordered_map> #include "bctoolbox/list.h" + #include "mediastreamer2/msogl.h" + #include <belle-sip/object++.hh> #include "c-wrapper/c-wrapper.h" #include "c-wrapper/internal/c-tools.h" #include "call/call.h" -#include "core/core.h" -#include "linphone/api/c-conference.h" -#include "linphone/conference.h" - #include "conference/participant.h" #include "conference/session/ms2-streams.h" #include "conference/session/streams.h" #include "conference_private.h" +#include "core/core.h" +#include "linphone/api/c-conference.h" +#include "linphone/conference.h" using namespace std; @@ -556,6 +557,15 @@ time_t linphone_conference_params_get_end_time(const LinphoneConferenceParams *p return ConferenceParams::toCpp(params)->getEndTime(); } +LinphoneConferenceSecurityLevel linphone_conference_params_get_security_level(const LinphoneConferenceParams *params) { + return (LinphoneConferenceSecurityLevel)ConferenceParams::toCpp(params)->getSecurityLevel(); +} + +void linphone_conference_params_set_security_level(LinphoneConferenceParams *params, + LinphoneConferenceSecurityLevel security_level) { + ConferenceParams::toCpp(params)->setSecurityLevel((ConferenceParamsInterface::SecurityLevel)security_level); +} + void linphone_conference_params_set_conference_factory_address(LinphoneConferenceParams *params, const LinphoneAddress *address) { ConferenceParams::toCpp(params)->setConferenceFactoryAddress( diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 64a10637c7..c3788cd6cf 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -18,41 +18,35 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <math.h> #include <sstream> - -#include <bctoolbox/defs.h> - -#include "linphone/api/c-content.h" -#include "linphone/api/c-recorder-params.h" -#include "linphone/api/c-recorder.h" -#include "linphone/core.h" -#include "linphone/core_utils.h" -#include "linphone/logging.h" -#include "linphone/lpconfig.h" -#include "linphone/sipsetup.h" - -#include "conference_private.h" -#include "logger/logger.h" -#include "logging-private.h" -#include "private.h" -#include "quality_reporting.h" +#include <sys/stat.h> +#include <sys/types.h> +#ifdef INET6 +#ifndef _WIN32 +#include <netdb.h> +#endif +#endif #ifdef HAVE_SQLITE #include "sqlite3_bctbx_vfs.h" #endif -#include "chat/modifier/file-transfer-chat-message-modifier.h" -#include "content/file-transfer-content.h" +#ifdef __APPLE__ +#include "TargetConditionals.h" +#endif +#ifdef __ANDROID__ +#include "android/api-level.h" +#endif + +#include "bctoolbox/charconv.h" #include "bctoolbox/defs.h" #include "bctoolbox/regex.h" + #include "belr/grammarbuilder.h" -#include <math.h> -#include <mediastreamer2/dtls_srtp.h> -#include <mediastreamer2/zrtp.h> + #include <ortp/telephonyevents.h> -#include <sys/stat.h> -#include <sys/types.h> #include "mediastreamer2/dtmfgen.h" #include "mediastreamer2/mediastream.h" @@ -63,11 +57,26 @@ #include "mediastreamer2/msogl.h" #include "mediastreamer2/msqrcodereader.h" #include "mediastreamer2/msvolume.h" - -#include "bctoolbox/charconv.h" +#include <mediastreamer2/dtls_srtp.h> +#include <mediastreamer2/zrtp.h> #include "account/account.h" - +#include "call/call.h" +#include "chat/modifier/file-transfer-chat-message-modifier.h" +#include "conference_private.h" +#include "content/file-transfer-content.h" +#include "linphone/api/c-content.h" +#include "linphone/api/c-recorder-params.h" +#include "linphone/api/c-recorder.h" +#include "linphone/core.h" +#include "linphone/core_utils.h" +#include "linphone/logging.h" +#include "linphone/lpconfig.h" +#include "linphone/sipsetup.h" +#include "logger/logger.h" +#include "logging-private.h" +#include "private.h" +#include "quality_reporting.h" #ifdef HAVE_ADVANCED_IM #include "chat/chat-room/client-group-chat-room-p.h" #include "chat/chat-room/client-group-to-basic-chat-room.h" @@ -78,41 +87,23 @@ #endif #include "conference/conference-info.h" #include "conference/conference-scheduler.h" +#include "conference/params/media-session-params-p.h" #include "conference/session/media-session-p.h" #include "conference/session/media-session.h" #include "content/content-manager.h" #include "content/content-type.h" #include "core/core-p.h" - -// For migration purpose. -#include "address/address.h" -#include "c-wrapper/c-wrapper.h" -#include "utils/payload-type-handler.h" - -#ifdef INET6 -#ifndef _WIN32 -#include <netdb.h> -#endif -#endif - +#include "event/event-publish.h" +#include "sal/sal.h" #ifdef HAVE_CONFIG_H #include "config.h" #include "gitversion.h" #endif -#ifdef __APPLE__ -#include "TargetConditionals.h" -#endif - -#ifdef __ANDROID__ -#include "android/api-level.h" -#endif - +// For migration purpose. +#include "address/address.h" #include "c-wrapper/c-wrapper.h" -#include "call/call.h" -#include "conference/params/media-session-params-p.h" - -#include "sal/sal.h" +#include "utils/payload-type-handler.h" #ifdef HAVE_ZLIB #define COMPRESSED_LOG_COLLECTION_EXTENSION "gz" @@ -4761,6 +4752,7 @@ void linphone_configure_op_with_proxy(LinphoneCore *lc, if (linphone_proxy_config_get_privacy(proxy) != LinphonePrivacyDefault) { op->setPrivacy(linphone_proxy_config_get_privacy(proxy)); } + op->setRealm(L_C_TO_STRING(linphone_proxy_config_get_realm(proxy))); } else identity = linphone_core_get_primary_contact(lc); /*sending out of calls*/ if (proxy) { @@ -4771,7 +4763,6 @@ void linphone_configure_op_with_proxy(LinphoneCore *lc, op->setToAddress(Address::toCpp(dest)->getImpl()); op->setFrom(identity); op->setSentCustomHeaders(headers); - op->setRealm(L_C_TO_STRING(linphone_proxy_config_get_realm(proxy))); if (with_contact && proxy && Account::toCpp(proxy->account)->getOp()) { const LinphoneAddress *contact = linphone_proxy_config_get_contact(proxy); diff --git a/coreapi/misc.c b/coreapi/misc.c index 31fb3d350c..f56d6b2d8f 100644 --- a/coreapi/misc.c +++ b/coreapi/misc.c @@ -21,10 +21,11 @@ #include <bctoolbox/defs.h> +#include "mediastreamer2/mediastream.h" + #include "core/core-p.h" #include "linphone/lpconfig.h" #include "linphone/wrapper_utils.h" -#include "mediastreamer2/mediastream.h" #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -147,7 +148,8 @@ bool_t lp_spawn_command_line_sync(const char *command, char **result, int *comma } (*result)[err] = 0; err = pclose(f); - if (command_ret != NULL) *command_ret = err; + if (command_ret != NULL) + *command_ret = err; return TRUE; } #endif // ENABLE_MICROSOFT_STORE_APP @@ -193,7 +195,8 @@ int parse_hostname_to_addr(const char *server, struct sockaddr_storage *ss, sock ms_error("getaddrinfo() failed for %s:%s : %s", host, port, gai_strerror(ret)); return -1; } - if (!res) return -1; + if (!res) + return -1; memcpy(ss, res->ai_addr, (size_t)res->ai_addrlen); *socklen = (socklen_t)res->ai_addrlen; freeaddrinfo(res); @@ -202,16 +205,9 @@ int parse_hostname_to_addr(const char *server, struct sockaddr_storage *ss, sock /* this functions runs a simple stun test and return the number of milliseconds to complete the tests, or -1 if the test * were failed.*/ -int linphone_run_stun_tests(LinphoneCore *lc, - int audioPort, - int videoPort, - int textPort, - char *audioCandidateAddr, - int *audioCandidatePort, - char *videoCandidateAddr, - int *videoCandidatePort, - char *textCandidateAddr, - int *textCandidatePort) { +int linphone_run_stun_tests(LinphoneCore *lc, int audioPort, int videoPort, int textPort, char *audioCandidateAddr, + int *audioCandidatePort, char *videoCandidateAddr, int *videoCandidatePort, + char *textCandidateAddr, int *textCandidatePort) { LinphonePrivate::StunClient *client = new LinphonePrivate::StunClient(L_GET_CPP_PTR_FROM_C_OBJECT(lc)); int ret = client->run(audioPort, videoPort, textPort); strncpy(audioCandidateAddr, client->getAudioCandidate().address.c_str(), LINPHONE_IPADDR_SIZE); @@ -286,7 +282,8 @@ const char *linphone_ice_state_to_string(LinphoneIceState state) { bool_t linphone_core_media_description_contains_video_stream(const LinphonePrivate::SalMediaDescription *md) { for (const auto &stream : md->streams) { - if (stream.type == SalVideo && stream.rtp_port != 0) return TRUE; + if (stream.type == SalVideo && stream.rtp_port != 0) + return TRUE; } return FALSE; } @@ -504,16 +501,30 @@ LinphoneReason linphone_reason_from_sal(SalReason r) { return ret; } +LinphoneStreamType sal_stream_type_to_linphone(SalStreamType type) { + switch (type) { + case SalAudio: + return LinphoneStreamTypeAudio; + case SalVideo: + return LinphoneStreamTypeVideo; + case SalText: + return LinphoneStreamTypeText; + case SalOther: + return LinphoneStreamTypeUnknown; + } + return LinphoneStreamTypeUnknown; +} + SalStreamType linphone_stream_type_to_sal(LinphoneStreamType type) { switch (type) { - case LinphoneStreamTypeAudio: - return SalAudio; - case LinphoneStreamTypeVideo: - return SalVideo; - case LinphoneStreamTypeText: - return SalText; - case LinphoneStreamTypeUnknown: - return SalOther; + case LinphoneStreamTypeAudio: + return SalAudio; + case LinphoneStreamTypeVideo: + return SalVideo; + case LinphoneStreamTypeText: + return SalText; + case LinphoneStreamTypeUnknown: + return SalOther; } return SalOther; } @@ -590,7 +601,8 @@ static void linphone_core_migrate_proxy_config(LinphoneCore *lc, LinphoneTranspo LinphoneAddress *proxy_addr = linphone_address_new(proxy); LinphoneAddress *route_addr = NULL; char *tmp; - if (route) route_addr = linphone_address_new(route); + if (route) + route_addr = linphone_address_new(route); if (proxy_addr) { linphone_address_set_transport(proxy_addr, type); tmp = linphone_address_as_string(proxy_addr); @@ -614,7 +626,8 @@ LinphoneStatus linphone_core_migrate_to_multi_transport(LinphoneCore *lc) { int port; if (get_unique_transport(lc, &tpt, &port) == 0) { LinphoneSipTransports newtp = {0}; - if (linphone_config_get_int(lc->config, "sip", "sip_random_port", 0)) port = -1; + if (linphone_config_get_int(lc->config, "sip", "sip_random_port", 0)) + port = -1; ms_message("Core is using a single SIP transport, migrating proxy config and enabling multi-transport."); linphone_core_migrate_proxy_config(lc, tpt); newtp.udp_port = port; @@ -637,7 +650,8 @@ LinphoneToneDescription *linphone_tone_description_new(LinphoneToneID id, const } void linphone_tone_description_destroy(LinphoneToneDescription *obj) { - if (obj->audiofile) ms_free(obj->audiofile); + if (obj->audiofile) + ms_free(obj->audiofile); ms_free(obj); } @@ -718,9 +732,12 @@ const MSCryptoSuite *linphone_core_get_all_supported_srtp_crypto_suites(Linphone static char *seperate_string_list(char **str) { char *ret; - if (str == NULL) return NULL; - if (*str == NULL) return NULL; - if (**str == '\0') return NULL; + if (str == NULL) + return NULL; + if (*str == NULL) + return NULL; + if (**str == '\0') + return NULL; ret = *str; for (; **str != '\0' && **str != ' ' && **str != ','; (*str)++) @@ -1026,7 +1043,8 @@ bctbx_list_t *linphone_core_get_supported_file_formats_list(const LinphoneCore * bool_t linphone_core_file_format_supported(LinphoneCore *lc, const char *fmt) { const char **formats = linphone_core_get_supported_file_formats(lc); for (; *formats != NULL; ++formats) { - if (strcasecmp(*formats, fmt) == 0) return TRUE; + if (strcasecmp(*formats, fmt) == 0) + return TRUE; } return FALSE; } @@ -1039,7 +1057,8 @@ bool_t linphone_core_symmetric_rtp_enabled(LinphoneCore *lc) { } LinphoneStatus linphone_core_set_network_simulator_params(LinphoneCore *lc, const OrtpNetworkSimulatorParams *params) { - if (params != &lc->net_conf.netsim_params) lc->net_conf.netsim_params = *params; + if (params != &lc->net_conf.netsim_params) + lc->net_conf.netsim_params = *params; /* update all running streams. */ for (const auto &call : L_GET_CPP_PTR_FROM_C_OBJECT(lc)->getCalls()) { diff --git a/coreapi/private_functions.h b/coreapi/private_functions.h index 5a8ef6f1f7..3d3e872442 100644 --- a/coreapi/private_functions.h +++ b/coreapi/private_functions.h @@ -669,6 +669,7 @@ LinphoneReason linphone_reason_from_sal(SalReason reason); void linphone_error_info_to_sal(const LinphoneErrorInfo *ei, SalErrorInfo *sei); SalStreamType linphone_stream_type_to_sal(LinphoneStreamType type); +LinphoneStreamType sal_stream_type_to_linphone(SalStreamType type); LinphoneEventCbs *linphone_event_cbs_new(void); // FIXME: Remove this declaration, use LINPHONE_PUBLIC as ugly workaround, already defined in tester_utils.h diff --git a/coreapi/proxy.c b/coreapi/proxy.c index d84d4c1018..1a8d0d5d57 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -54,6 +54,7 @@ #include "account/account.h" #include "address/address.h" #include "c-wrapper/c-wrapper.h" +#include "event/event-publish.h" #include "linphone/api/c-dial-plan.h" #include "dial-plan/dial-plan.h" diff --git a/include/linphone/api/c-conference-info.h b/include/linphone/api/c-conference-info.h index bdbbc29c81..21b284ca35 100644 --- a/include/linphone/api/c-conference-info.h +++ b/include/linphone/api/c-conference-info.h @@ -170,6 +170,22 @@ LINPHONE_PUBLIC const char *linphone_conference_info_get_description(const Linph LINPHONE_PUBLIC void linphone_conference_info_set_description(LinphoneConferenceInfo *conference_info, const char *description); +/** + * Retrieve the desired security level of the conference. + * @param conference_info The #LinphoneConferenceInfo object. @notnil + * @return The desired security level of the conference. + */ +LINPHONE_PUBLIC LinphoneConferenceSecurityLevel +linphone_conference_info_get_security_level(const LinphoneConferenceInfo *conference_info); + +/** + * Set the desired security level of the conference. + * @param conference_info The #LinphoneConferenceInfo object. @notnil + * @param security_level The desired security level of the conference. + */ +LINPHONE_PUBLIC void linphone_conference_info_set_security_level(LinphoneConferenceInfo *conference_info, + LinphoneConferenceSecurityLevel security_level); + /** * Retrieve the conference as an Icalendar string. * @param conference_info The #LinphoneConferenceInfo object. @notnil diff --git a/include/linphone/conference.h b/include/linphone/conference.h index c96bb274bf..2ccc0d8e56 100644 --- a/include/linphone/conference.h +++ b/include/linphone/conference.h @@ -294,6 +294,22 @@ linphone_conference_params_is_one_participant_conference_enabled(const LinphoneC LINPHONE_PUBLIC bool_t linphone_conference_params_one_participant_conference_enabled(const LinphoneConferenceParams *params); +/** + * Retrieve the desired security level of the conference. + * @param params The #LinphoneConferenceParams object. @notnil + * @return The desired security level of the conference. + */ +LINPHONE_PUBLIC LinphoneConferenceSecurityLevel +linphone_conference_params_get_security_level(const LinphoneConferenceParams *params); + +/** + * Set the desired security level of the conference. + * @param params The #LinphoneConferenceParams object. @notnil + * @param security_level The desired security level of the conference. + */ +LINPHONE_PUBLIC void linphone_conference_params_set_security_level(LinphoneConferenceParams *params, + LinphoneConferenceSecurityLevel security_level); + /** * Take a reference on a #LinphoneConference. * @param conference The #LinphoneConference to ref. @notnil @@ -482,6 +498,7 @@ LINPHONE_PUBLIC void linphone_conference_set_username(LinphoneConference *confer LINPHONE_PUBLIC void linphone_conference_set_local_participant_stream_capability(LinphoneConference *conference, const LinphoneMediaDirection direction, const LinphoneStreamType type); + /** * Get the conference duration * @param conference The #LinphoneConference object. @notnil diff --git a/include/linphone/enums/conference-enums.h b/include/linphone/enums/conference-enums.h index ebfb0817a9..fa6b6ed992 100644 --- a/include/linphone/enums/conference-enums.h +++ b/include/linphone/enums/conference-enums.h @@ -76,6 +76,17 @@ typedef enum _LinphoneConferenceParticipantListType { 1, /**< All devices calling the conference URI are allowed to join the conference */ } LinphoneConferenceParticipantListType; +/** + * @brief Conference minimum security level + * + * @ingroup conference + */ +typedef enum _LinphoneConferenceSecurityLevel { + LinphoneConferenceSecurityLevelNone = 0, /**< No security */ + LinphoneConferenceSecurityLevelPointToPoint = 1, /**< Point-to-point encryption */ + LinphoneConferenceSecurityLevelEndToEnd = 2, /**< End-to-end encryption */ +} LinphoneConferenceSecurityLevel; + /** * @brief Describes conference scheduler possible states. * diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b4d7610b02..80dd69d917 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -155,6 +155,7 @@ set(LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES chat/notification/is-composing-listener.h chat/notification/is-composing.h conference/conference-params.h + conference/conference-params-interface.h conference/conference-enums.h conference/conference-id.h conference/conference-info.h @@ -408,6 +409,7 @@ set(LINPHONE_CXX_OBJECTS_SOURCE_FILES chat/notification/imdn.cpp chat/notification/is-composing.cpp conference/conference-params.cpp + conference/conference-params-interface.cpp conference/conference-enums.cpp conference/conference-id.cpp conference/conference-info.cpp diff --git a/src/account/account.cpp b/src/account/account.cpp index b2ab11d61a..54e4fc8605 100644 --- a/src/account/account.cpp +++ b/src/account/account.cpp @@ -18,13 +18,14 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <bctoolbox/defs.h> + #include "account.h" #include "core/core.h" #include "linphone/api/c-account-params.h" #include "linphone/api/c-account.h" #include "push-notification/push-notification-config.h" -#include <bctoolbox/defs.h> #ifdef HAVE_ADVANCED_IM #ifdef HAVE_LIME_X3DH #include "chat/encryption/lime-x3dh-encryption-engine.h" @@ -32,6 +33,7 @@ #endif // HAVE_ADVANCED_IM #include "c-wrapper/c-wrapper.h" #include "c-wrapper/internal/c-tools.h" +#include "event/event-publish.h" #include "linphone/core.h" #include "private.h" #include "utils/custom-params.h" diff --git a/src/account/account.h b/src/account/account.h index b01575f195..90f05741e9 100644 --- a/src/account/account.h +++ b/src/account/account.h @@ -26,7 +26,6 @@ #include "account-params.h" #include "c-wrapper/c-wrapper.h" #include "c-wrapper/internal/c-sal.h" -#include "event/event-publish.h" #include "linphone/api/c-types.h" #include "sal/register-op.h" @@ -41,6 +40,8 @@ typedef enum _LinphoneAccountAddressComparisonResult { } LinphoneAccountAddressComparisonResult; class AccountCbs; +class Address; +class EventPublish; class Account : public bellesip::HybridObject<LinphoneAccount, Account>, public UserDataAccessor, diff --git a/src/c-wrapper/api/c-conference-info.cpp b/src/c-wrapper/api/c-conference-info.cpp index d57e70911b..b11308f58e 100644 --- a/src/c-wrapper/api/c-conference-info.cpp +++ b/src/c-wrapper/api/c-conference-info.cpp @@ -133,6 +133,16 @@ void linphone_conference_info_set_description(LinphoneConferenceInfo *conference ConferenceInfo::toCpp(conference_info)->setDescription(L_C_TO_STRING(description)); } +LinphoneConferenceSecurityLevel +linphone_conference_info_get_security_level(const LinphoneConferenceInfo *conference_info) { + return (LinphoneConferenceSecurityLevel)ConferenceInfo::toCpp(conference_info)->getSecurityLevel(); +} + +void linphone_conference_info_set_security_level(LinphoneConferenceInfo *conference_info, + LinphoneConferenceSecurityLevel security_level) { + ConferenceInfo::toCpp(conference_info)->setSecurityLevel((ConferenceParamsInterface::SecurityLevel)security_level); +} + char *linphone_conference_info_get_icalendar_string(const LinphoneConferenceInfo *conference_info) { std::string tmp = ConferenceInfo::toCpp(conference_info)->toIcsString(); if (!tmp.empty()) { diff --git a/src/c-wrapper/api/c-event.cpp b/src/c-wrapper/api/c-event.cpp index 80853d11ed..068054289f 100644 --- a/src/c-wrapper/api/c-event.cpp +++ b/src/c-wrapper/api/c-event.cpp @@ -23,6 +23,7 @@ #include "linphone/api/c-event.h" +#include "account/account.h" #include "core/core.h" #include "core_private.h" #include "event/event-publish.h" diff --git a/src/c-wrapper/internal/c-sal.h b/src/c-wrapper/internal/c-sal.h index 53f2b49796..36102e9b32 100644 --- a/src/c-wrapper/internal/c-sal.h +++ b/src/c-wrapper/internal/c-sal.h @@ -142,6 +142,7 @@ typedef enum { #define SAL_MEDIA_DESCRIPTION_BANDWIDTH_CHANGED (1 << 13) #define SAL_MEDIA_DESCRIPTION_FRAME_MARKING_EXTENSION_CHANGED (1 << 14) #define SAL_MEDIA_DESCRIPTION_CONTENT_CHANGED (1 << 15) +#define SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED (1 << 16) #ifdef __cplusplus extern "C" { diff --git a/src/call/call-log.h b/src/call/call-log.h index 5e38f18ac9..80ef00684c 100644 --- a/src/call/call-log.h +++ b/src/call/call-log.h @@ -39,7 +39,7 @@ public: LinphoneCallDir direction, const std::shared_ptr<Address> &from, const std::shared_ptr<Address> &to); - ~CallLog(); + virtual ~CallLog(); LinphoneCallDir getDirection() const; void setDirection(LinphoneCallDir direction); diff --git a/src/call/call.cpp b/src/call/call.cpp index bf2bb35129..13a86ee291 100644 --- a/src/call/call.cpp +++ b/src/call/call.cpp @@ -122,8 +122,8 @@ int Call::getMediaStreamIndex(LinphoneStreamType type) const { return (int)s->getIndex(); } -int Call::getMediaStreamsNb(LinphoneStreamType type) const { - int nb = 0; +size_t Call::getMediaStreamsNb(LinphoneStreamType type) const { + size_t nb = 0; auto ms = static_pointer_cast<MediaSession>(getActiveSession())->getPrivate(); StreamsGroup &sg = ms->getStreamsGroup(); SalStreamType nType; diff --git a/src/call/call.h b/src/call/call.h index 7f480aa8f4..db8bc27127 100644 --- a/src/call/call.h +++ b/src/call/call.h @@ -25,15 +25,11 @@ #include "conference/session/call-session.h" #include "core/core-accessor.h" #include "object/object.h" - #include "linphone/api/c-types.h" -#include <c-wrapper/c-wrapper.h> - +#include "c-wrapper/c-wrapper.h" #include "object/object-p.h" - #include "conference/session/call-session-listener.h" #include "utils/background-task.h" - #include "call/call-log.h" #include "call/video-source/video-source-descriptor.h" @@ -100,7 +96,7 @@ public: Call(std::shared_ptr<Core> core, LinphoneCallDir direction, const std::string &callid); - ~Call(); + virtual ~Call(); void configure(LinphoneCallDir direction, const std::shared_ptr<Address> &from, @@ -241,7 +237,7 @@ public: // don't make new code relying on this method. MediaStream *getMediaStream(LinphoneStreamType type) const; int getMediaStreamIndex(LinphoneStreamType type) const; - int getMediaStreamsNb(LinphoneStreamType type) const; + size_t getMediaStreamsNb(LinphoneStreamType type) const; SalCallOp *getOp() const; bool getSpeakerMuted() const; void setSpeakerMuted(bool muted); diff --git a/src/chat/ics/ics.cpp b/src/chat/ics/ics.cpp index e7c73998d5..6e24020382 100644 --- a/src/chat/ics/ics.cpp +++ b/src/chat/ics/ics.cpp @@ -328,6 +328,11 @@ std::shared_ptr<ConferenceInfo> Ics::Icalendar::toConferenceInfo() const { } } + ConferenceParams::SecurityLevel securityLevel = ConferenceParams::SecurityLevel::None; + lInfo() << "Setting the conference security level to " << securityLevel + << " as we don't have received the notify full state yet"; + confInfo->setSecurityLevel(securityLevel); + tm start = event->getDateTimeStart(); confInfo->setDateTime(Utils::getTmAsTimeT(start)); diff --git a/src/conference/conference-info.cpp b/src/conference/conference-info.cpp index 8359f60465..b60ffcc0e5 100644 --- a/src/conference/conference-info.cpp +++ b/src/conference/conference-info.cpp @@ -207,6 +207,14 @@ void ConferenceInfo::setUtf8Description(const string &description) { mDescription = Utils::trim(Utils::utf8ToLocale(description)); } +ConferenceParamsInterface::SecurityLevel ConferenceInfo::getSecurityLevel() const { + return mSecurityLevel; +} + +void ConferenceInfo::setSecurityLevel(ConferenceParamsInterface::SecurityLevel securityLevel) { + mSecurityLevel = securityLevel; +} + const ConferenceInfo::State &ConferenceInfo::getState() const { return mState; } diff --git a/src/conference/conference-info.h b/src/conference/conference-info.h index c5f56bbed4..ba9fdc27ea 100644 --- a/src/conference/conference-info.h +++ b/src/conference/conference-info.h @@ -28,42 +28,13 @@ #include <belle-sip/object++.hh> #include "address/address.h" +#include "conference/conference-params-interface.h" #include "linphone/api/c-types.h" #include "linphone/types.h" // ============================================================================= LINPHONE_BEGIN_NAMESPACE - -/* Temporary utility for non HybridObject, that does almost the same as ListHolder - FIXME: it has to be declared in c-wrapper.h like other c-wrapping utilities, however this cannot be - done because of circular dependencies within liblinphone internal include files (linphone/utils/utils.h is - problematic). This has to be fixed first. - */ -class CListCache { -public: - CListCache() = default; - CListCache(BCTBX_UNUSED(const CListCache &other)) : mList(nullptr) { - } - template <typename _container, typename _functor> - const bctbx_list_t *construct(const _container &container, _functor fun) const { - if (mList) { - bctbx_list_free_with_data(mList, belle_sip_object_unref); - mList = nullptr; - } - for (const auto &obj : container) { - mList = bctbx_list_append(mList, fun(obj)); - } - return mList; - } - ~CListCache() { - if (mList) bctbx_list_free_with_data(mList, belle_sip_object_unref); - } - -private: - mutable bctbx_list_t *mList = nullptr; -}; - class LINPHONE_PUBLIC ConferenceInfo : public bellesip::HybridObject<LinphoneConferenceInfo, ConferenceInfo> { public: struct AddressCmp { @@ -146,6 +117,9 @@ public: void updateFrom(const std::shared_ptr<ConferenceInfo> &info); + ConferenceParamsInterface::SecurityLevel getSecurityLevel() const; + void setSecurityLevel(ConferenceParamsInterface::SecurityLevel securityLevel); + // Used only by the tester void setCreationTime(time_t time); @@ -160,6 +134,7 @@ private: mutable unsigned int mIcsSequence = 0; mutable std::string mIcsUid = ""; State mState = State::New; + ConferenceParamsInterface::SecurityLevel mSecurityLevel = ConferenceParamsInterface::SecurityLevel::None; time_t mCreationTime = (time_t)-1; }; diff --git a/src/conference/conference-interface.h b/src/conference/conference-interface.h index 6cb4a27ab1..6304531fa9 100644 --- a/src/conference/conference-interface.h +++ b/src/conference/conference-interface.h @@ -417,100 +417,6 @@ public: } }; -class LINPHONE_PUBLIC ConferenceParamsInterface { -public: - enum class JoiningMode { - DialIn = LinphoneConferenceJoiningModeDialIn, - DialOut = LinphoneConferenceJoiningModeDialOut - }; - - enum class ParticipantListType { - Closed = LinphoneConferenceParticipantListTypeClosed, - Open = LinphoneConferenceParticipantListTypeOpen - }; - - virtual ~ConferenceParamsInterface() = default; - - /*Set conference factory address. - *If set, Conference is created as an Adhoc conference on a remote conferencing server. Conference state is - *CreationPending until conference is instanciated and conference Id available. State is then transitionned to - *Created. If not set the conference is instanciated with a local focus. In this case conferenceId must be set. - * @param[in] Address of the conference factory (ex: sip:conference-factory@conf.linphone.org). - */ - virtual void setConferenceFactoryAddress(const std::shared_ptr<Address> &address) = 0; - - /*Set focus address of this conference. If set, the Conference is created as an Adhoc conference from a remote - *conferencing server - * @param[in] The Address of the conference focus. - **/ - virtual void setConferenceAddress(const std::shared_ptr<Address> conferenceAddress) = 0; - - /* - * Set the subject of this conference. If not focus, this operation is only available if the local participant - * #getMe() is admin. - * @param[in] subject The new subject to set for the chat room - */ - virtual void setSubject(const std::string &subject) = 0; - - /* - * Set the subject of this conference in UTF8. If not focus, this operation is only available if the local - * participant #getMe() is admin. - * @param[in] subject The new subject to set for the chat room - */ - virtual void setUtf8Subject(const std::string &subject) = 0; - - /* - *Set participant representing myself in this Conference. - *If set this participant is added to the conference - * @param[in] participantAddress of the conference focus. - */ - virtual void setMe(const std::shared_ptr<Address> &participantAddress) = 0; - - /* - * Enable audio media type for a conference - * @param enable If true, audio will be enabled during conference - */ - virtual void enableAudio(bool enable) = 0; - - /* - * Enable video media type for a conference - * @param enable If true, video will be enabled during conference - */ - virtual void enableVideo(bool enable) = 0; - - /* - * Enable chat media type for a conference - * @param enable If true, chat will be enabled during conference - */ - virtual void enableChat(bool enable) = 0; - - /* - * Set conference start time - * @param start conference start time as the number of seconds between the desired start time and the 1st of January - * 1970 or 0 for immediate start - */ - virtual void setStartTime(const time_t &start) = 0; - - /* - * Set conference end time - * @param end conference end time as the number of seconds between the desired end time and the 1st of January 1970 - * or 0 for undefined end - */ - virtual void setEndTime(const time_t &end) = 0; - - /* - * Set participant list type - * @param type participant list type - */ - virtual void setParticipantListType(const ParticipantListType &type) = 0; - - /* - * Set participant joining mode - * @param type participant joining mode - */ - virtual void setJoiningMode(const JoiningMode &type) = 0; -}; - /***********************************************************************************************************************/ /* Conference object creation ** Conference object can be either created at initiative user application using fonction diff --git a/src/conference/conference-params-interface.cpp b/src/conference/conference-params-interface.cpp new file mode 100644 index 0000000000..2905596986 --- /dev/null +++ b/src/conference/conference-params-interface.cpp @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2010-2023 Belledonne Communications SARL. + * + * This file is part of Liblinphone. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <iostream> + +#include "conference/conference-params-interface.h" + +// ============================================================================= + +using namespace std; + +LINPHONE_BEGIN_NAMESPACE + +std::ostream &operator<<(std::ostream &lhs, ConferenceParamsInterface::SecurityLevel e) { + switch (e) { + case ConferenceParamsInterface::SecurityLevel::None: + lhs << "none"; + break; + case ConferenceParamsInterface::SecurityLevel::PointToPoint: + lhs << "point-to-point"; + break; + case ConferenceParamsInterface::SecurityLevel::EndToEnd: + lhs << "end-to-end"; + break; + } + return lhs; +} + +std::string operator+(const std::string &str, ConferenceParamsInterface::SecurityLevel level) { + std::string s(str); + switch (level) { + case ConferenceParamsInterface::SecurityLevel::None: + s.append("none"); + break; + case ConferenceParamsInterface::SecurityLevel::PointToPoint: + s.append("point-to-point"); + break; + case ConferenceParamsInterface::SecurityLevel::EndToEnd: + s.append("end-to-end"); + break; + } + return s; +} + +LINPHONE_END_NAMESPACE diff --git a/src/conference/conference-params-interface.h b/src/conference/conference-params-interface.h new file mode 100644 index 0000000000..8882ec744b --- /dev/null +++ b/src/conference/conference-params-interface.h @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2010-2022 Belledonne Communications SARL. + * + * This file is part of Liblinphone. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _L_CONFERENCE_PARAMS_INTERFACE_H_ +#define _L_CONFERENCE_PARAMS_INTERFACE_H_ + +#include <ctime> + +#include "address/address.h" + +LINPHONE_BEGIN_NAMESPACE + +class LINPHONE_PUBLIC ConferenceParamsInterface { +public: + enum class JoiningMode { + DialIn = LinphoneConferenceJoiningModeDialIn, + DialOut = LinphoneConferenceJoiningModeDialOut + }; + + enum class SecurityLevel { + None = LinphoneConferenceSecurityLevelNone, + PointToPoint = LinphoneConferenceSecurityLevelPointToPoint, + EndToEnd = LinphoneConferenceSecurityLevelEndToEnd + }; + + enum class ParticipantListType { + Closed = LinphoneConferenceParticipantListTypeClosed, + Open = LinphoneConferenceParticipantListTypeOpen + }; + + virtual ~ConferenceParamsInterface() = default; + + /*Set conference factory address. + *If set, Conference is created as an Adhoc conference on a remote conferencing server. Conference state is + *CreationPending until conference is instanciated and conference Id available. State is then transitionned to + *Created. If not set the conference is instanciated with a local focus. In this case conferenceId must be set. + * @param[in] Address of the conference factory (ex: sip:conference-factory@conf.linphone.org). + */ + virtual void setConferenceFactoryAddress(const std::shared_ptr<Address> &address) = 0; + + /*Set focus address of this conference. If set, the Conference is created as an Adhoc conference from a remote + *conferencing server + * @param[in] The Address of the conference focus. + **/ + virtual void setConferenceAddress(const std::shared_ptr<Address> conferenceAddress) = 0; + + /* + * Set the subject of this conference. If not focus, this operation is only available if the local participant + * #getMe() is admin. + * @param[in] subject The new subject to set for the chat room + */ + virtual void setSubject(const std::string &subject) = 0; + + /* + * Set the subject of this conference in UTF8. If not focus, this operation is only available if the local + * participant #getMe() is admin. + * @param[in] subject The new subject to set for the chat room + */ + virtual void setUtf8Subject(const std::string &subject) = 0; + + /* + *Set participant representing myself in this Conference. + *If set this participant is added to the conference + * @param[in] participantAddress of the conference focus. + */ + virtual void setMe(const std::shared_ptr<Address> &participantAddress) = 0; + + /* + * Enable audio media type for a conference + * @param enable If true, audio will be enabled during conference + */ + virtual void enableAudio(bool enable) = 0; + + /* + * Enable video media type for a conference + * @param enable If true, video will be enabled during conference + */ + virtual void enableVideo(bool enable) = 0; + + /* + * Enable chat media type for a conference + * @param enable If true, chat will be enabled during conference + */ + virtual void enableChat(bool enable) = 0; + + /* + * Set conference start time + * @param start conference start time as the number of seconds between the desired start time and the 1st of January + * 1970 or 0 for immediate start + */ + virtual void setStartTime(const time_t &start) = 0; + + /* + * Set conference end time + * @param end conference end time as the number of seconds between the desired end time and the 1st of January 1970 + * or 0 for undefined end + */ + virtual void setEndTime(const time_t &end) = 0; + + /* + * Set participant list type + * @param type participant list type + */ + virtual void setParticipantListType(const ParticipantListType &type) = 0; + + /* + * Set conference security level + * @param type conference security level + */ + virtual void setSecurityLevel(const SecurityLevel &level) = 0; + + /* + * Set participant joining mode + * @param type participant joining mode + */ + virtual void setJoiningMode(const JoiningMode &type) = 0; +}; + +std::ostream &operator<<(std::ostream &str, ConferenceParamsInterface::SecurityLevel level); +std::string operator+(const std::string &str, ConferenceParamsInterface::SecurityLevel level); + +LINPHONE_END_NAMESPACE + +#endif // ifndef _L_CONFERENCE_PARAMS_INTERFACE_H_ diff --git a/src/conference/conference-params.cpp b/src/conference/conference-params.cpp index 1281304b31..af873c1468 100644 --- a/src/conference/conference-params.cpp +++ b/src/conference/conference-params.cpp @@ -64,7 +64,7 @@ void ConferenceParams::updateFromAccount( auto core = account->getCore(); m_factoryAddress = accountParams->getAudioVideoConferenceFactoryAddress(); if (m_factoryAddress && (linphone_core_get_global_state(core) != LinphoneGlobalStartup)) { - lInfo() << "Update conference parameters from account, factory: " << m_factoryAddress->toString(); + lInfo() << "Update conference parameters from account, factory: " << *m_factoryAddress; } } } else lInfo() << "Update conference parameters from account: no account parameters"; @@ -93,4 +93,27 @@ void ConferenceParams::setConferenceAddress(const std::shared_ptr<Address> confe m_conferenceAddress = Address::create(conferenceAddress->getUri()); }; +ConferenceParams::SecurityLevel ConferenceParams::getSecurityLevelFromAttribute(const string &level) { + if (level.compare("point-to-point") == 0) { + return ConferenceParams::SecurityLevel::PointToPoint; + } else if (level.compare("end-to-end") == 0) { + return ConferenceParams::SecurityLevel::EndToEnd; + } else { + return ConferenceParams::SecurityLevel::None; + } + return ConferenceParams::SecurityLevel::None; +} + +string ConferenceParams::getSecurityLevelAttribute(const ConferenceParams::SecurityLevel &level) { + switch (level) { + case ConferenceParams::SecurityLevel::None: + return "none"; + case ConferenceParams::SecurityLevel::PointToPoint: + return "point-to-point"; + case ConferenceParams::SecurityLevel::EndToEnd: + return "end-to-end"; + } + return "none"; +} + LINPHONE_END_NAMESPACE diff --git a/src/conference/conference-params.h b/src/conference/conference-params.h index 7a494c9326..97896ae827 100644 --- a/src/conference/conference-params.h +++ b/src/conference/conference-params.h @@ -25,13 +25,14 @@ #include "belle-sip/object++.hh" -#include "address/address.h" #include "conference/conference-interface.h" +#include "conference/conference-params-interface.h" #include "linphone/core.h" LINPHONE_BEGIN_NAMESPACE class Account; +class Address; namespace MediaConference { // They are in a special namespace because of conflict of generic Conference classes in // src/conference/* class Conference; @@ -166,6 +167,16 @@ public: return m_joinMode; }; + virtual void setSecurityLevel(const SecurityLevel &level) override { + m_securityLevel = level; + }; + const SecurityLevel &getSecurityLevel() const { + return m_securityLevel; + }; + + static ConferenceParams::SecurityLevel getSecurityLevelFromAttribute(const std::string &level); + static std::string getSecurityLevelAttribute(const ConferenceParams::SecurityLevel &level); + private: void updateFromAccount(const std::shared_ptr<Account> &account); // Update Me and default factory from account. @@ -178,6 +189,7 @@ private: JoiningMode m_joinMode = JoiningMode::DialIn; std::shared_ptr<Address> m_conferenceAddress = nullptr; std::shared_ptr<Address> m_factoryAddress = nullptr; + SecurityLevel m_securityLevel = SecurityLevel::None; bool m_useDefaultFactoryAddress = true; std::string m_subject = ""; mutable std::string m_utf8Subject = ""; diff --git a/src/conference/conference-scheduler.cpp b/src/conference/conference-scheduler.cpp index b365c426b2..fc1e9900ba 100644 --- a/src/conference/conference-scheduler.cpp +++ b/src/conference/conference-scheduler.cpp @@ -213,6 +213,7 @@ void ConferenceScheduler::setInfo(const std::shared_ptr<ConferenceInfo> &info) { conferenceParams->enableAudio(true); conferenceParams->enableVideo(true); conferenceParams->setSubject(mConferenceInfo->getSubject()); + conferenceParams->setSecurityLevel(mConferenceInfo->getSecurityLevel()); if (mConferenceInfo->getDateTime() <= 0) { if (!isUpdate) { diff --git a/src/conference/conference.cpp b/src/conference/conference.cpp index 79649006fb..fa7d368c91 100644 --- a/src/conference/conference.cpp +++ b/src/conference/conference.cpp @@ -63,6 +63,7 @@ Conference::~Conference() { } // ----------------------------------------------------------------------------- + time_t Conference::getStartTime() const { return startTime; } @@ -210,11 +211,11 @@ const list<shared_ptr<ParticipantDevice>> Conference::getParticipantDevices() co return devices; } -const string &Conference::getSubject () const { +const string &Conference::getSubject() const { return confParams->getSubject(); } -const string &Conference::getUtf8Subject () const { +const string &Conference::getUtf8Subject() const { return confParams->getUtf8Subject(); } @@ -278,9 +279,7 @@ void Conference::setUtf8Subject(const string &subject) { void Conference::setSubject(const string &subject) { confParams->setSubject(subject); -#ifdef HAVE_DB_STORAGE updateSubjectInConferenceInfo(subject); -#endif // HAVE_DB_STORAGE } shared_ptr<ConferenceParticipantDeviceEvent> @@ -385,17 +384,19 @@ shared_ptr<Participant> Conference::findParticipant(const std::shared_ptr<Addres return nullptr; } -shared_ptr<ParticipantDevice> Conference::findParticipantDeviceByLabel(const std::string &label) const { +shared_ptr<ParticipantDevice> Conference::findParticipantDeviceByLabel(const LinphoneStreamType type, + const std::string &label) const { for (const auto &participant : participants) { auto device = participant->findDevice(label, false); - if (device) { - return device; + if (device) return device; + for (const auto &device : participant->getDevices()) { + if (device->getLabel(type) == label) return device; } } lDebug() << "Unable to find participant device in conference " << (getConferenceAddress() ? getConferenceAddress()->toString() : std::string("<unknown address>")) - << " with label " << label; + << " with " << std::string(linphone_stream_type_to_string(type)) << " label " << label; return nullptr; } @@ -697,12 +698,37 @@ void Conference::notifyActiveSpeakerParticipantDevice(const std::shared_ptr<Part } std::shared_ptr<ConferenceInfo> Conference::createOrGetConferenceInfo() const { +#ifdef HAVE_DB_STORAGE + auto &mainDb = getCore()->getPrivate()->mainDb; + if (mainDb) { + std::shared_ptr<ConferenceInfo> conferenceInfo = + getCore()->getPrivate()->mainDb->getConferenceInfoFromURI(getConferenceAddress()); + if (conferenceInfo) { + return conferenceInfo; + } + } +#endif // HAVE_DB_STORAGE + return createConferenceInfo(); +} + +std::shared_ptr<ConferenceInfo> Conference::createConferenceInfo() const { return nullptr; } std::shared_ptr<ConferenceInfo> -Conference::createConferenceInfo(const std::shared_ptr<Address> &organizer, - const std::list<std::shared_ptr<Address>> invitedParticipants) const { +Conference::createConferenceInfoWithOrganizer(const std::shared_ptr<Address> &organizer) const { + // Add participants that are currently in the conference + std::list<std::shared_ptr<Address>> participantAddresses; + for (const auto &p : getParticipants()) { + const auto &pAddress = p->getAddress(); + participantAddresses.push_back(pAddress); + } + + return createConferenceInfoWithCustomParticipantList(organizer, participantAddresses); +} + +std::shared_ptr<ConferenceInfo> Conference::createConferenceInfoWithCustomParticipantList( + const std::shared_ptr<Address> &organizer, const std::list<std::shared_ptr<Address>> invitedParticipants) const { std::shared_ptr<ConferenceInfo> info = ConferenceInfo::create(); info->setOrganizer(organizer); for (const auto &participant : invitedParticipants) { @@ -723,10 +749,40 @@ Conference::createConferenceInfo(const std::shared_ptr<Address> &organizer, } info->setSubject(confParams->getSubject()); + info->setSecurityLevel(confParams->getSecurityLevel()); return info; } +#ifndef _MSC_VER +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#endif // _MSC_VER +void Conference::updateSecurityLevelInConferenceInfo(const ConferenceParams::SecurityLevel &level) const { +#ifdef HAVE_DB_STORAGE + if ((getState() == ConferenceInterface::State::CreationPending) || + (getState() == ConferenceInterface::State::Created)) { + auto info = createOrGetConferenceInfo(); + + if (info) { + info->setSecurityLevel(level); + + // Store into DB after the start incoming notification in order to have a valid conference address being the + // contact address of the call + auto &mainDb = getCore()->getPrivate()->mainDb; + if (mainDb) { + lInfo() << "Updating conference information of conference " << *getConferenceAddress() + << " because its security level has been changed to " << level; + mainDb->insertConferenceInfo(info); + } + } + } +#endif // HAVE_DB_STORAGE +} +#ifndef _MSC_VER +#pragma GCC diagnostic pop +#endif // _MSC_VER + #ifndef _MSC_VER #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" diff --git a/src/conference/conference.h b/src/conference/conference.h index 40b5f94bcc..ec346119b4 100644 --- a/src/conference/conference.h +++ b/src/conference/conference.h @@ -23,18 +23,16 @@ #include <map> -#include "linphone/core.h" -#include "linphone/types.h" +#include "belle-sip/object++.hh" #include "address/address.h" - #include "conference/conference-id.h" #include "conference/conference-interface.h" #include "conference/conference-listener.h" #include "conference/conference-params.h" #include "core/core-accessor.h" - -#include "belle-sip/object++.hh" +#include "linphone/core.h" +#include "linphone/types.h" // ============================================================================= @@ -73,8 +71,9 @@ public: std::shared_ptr<ParticipantDevice> findParticipantDevice(const std::shared_ptr<const CallSession> &session) const; std::shared_ptr<ParticipantDevice> findParticipantDevice(const std::shared_ptr<Address> &pAddr, const std::shared_ptr<Address> &dAddr) const; - std::shared_ptr<ParticipantDevice> findParticipantDeviceByLabel(const std::string &label) const; std::shared_ptr<ParticipantDevice> findParticipantDeviceBySsrc(uint32_t ssrc, LinphoneStreamType type) const; + std::shared_ptr<ParticipantDevice> findParticipantDeviceByLabel(const LinphoneStreamType type, + const std::string &label) const; std::shared_ptr<ParticipantDevice> getActiveSpeakerParticipantDevice() const; virtual const std::shared_ptr<CallSession> getMainSession() const; @@ -204,6 +203,7 @@ public: void updateSubjectInConferenceInfo(const std::string &subject) const; void updateParticipantsInConferenceInfo(const std::shared_ptr<Address> &participantAddress) const; + void updateSecurityLevelInConferenceInfo(const ConferenceParams::SecurityLevel &level) const; protected: explicit Conference(const std::shared_ptr<Core> &core, @@ -244,9 +244,12 @@ protected: std::map<uint32_t, bool> pendingParticipantsMutes; virtual std::shared_ptr<ConferenceInfo> createOrGetConferenceInfo() const; + virtual std::shared_ptr<ConferenceInfo> createConferenceInfo() const; + virtual std::shared_ptr<ConferenceInfo> + createConferenceInfoWithCustomParticipantList(const std::shared_ptr<Address> &organizer, + const std::list<std::shared_ptr<Address>> invitedParticipants) const; virtual std::shared_ptr<ConferenceInfo> - createConferenceInfo(const std::shared_ptr<Address> &organizer, - const std::list<std::shared_ptr<Address>> invitedParticipants) const; + createConferenceInfoWithOrganizer(const std::shared_ptr<Address> &organizer) const; private: L_DISABLE_COPY(Conference); diff --git a/src/conference/handlers/local-conference-event-handler.cpp b/src/conference/handlers/local-conference-event-handler.cpp index f0e54c293e..d70905cde4 100644 --- a/src/conference/handlers/local-conference-event-handler.cpp +++ b/src/conference/handlers/local-conference-event-handler.cpp @@ -22,19 +22,19 @@ #include <bctoolbox/defs.h> -#include "linphone/api/c-content.h" -#include "linphone/utils/utils.h" - #include "c-wrapper/c-wrapper.h" #include "chat/chat-room/server-group-chat-room-p.h" #include "conference/conference.h" #include "conference/participant-device.h" #include "conference/participant.h" +#include "conference_private.h" #include "content/content-manager.h" #include "content/content-type.h" #include "core/core-p.h" #include "db/main-db.h" #include "event-log/events.h" +#include "linphone/api/c-content.h" +#include "linphone/utils/utils.h" #include "local-conference-event-handler.h" #include "logger/logger.h" @@ -134,6 +134,7 @@ Content LocalConferenceEventHandler::createNotifyFullState(const shared_ptr<Even if (ephemerable) { keywordList += "ephemeral "; } + if (!keywordList.empty()) { KeywordsType keywords(sizeof(char), keywordList.c_str()); confDescr.setKeywords(keywords); @@ -157,6 +158,20 @@ Content LocalConferenceEventHandler::createNotifyFullState(const shared_ptr<Even confDescr.getAny().push_back(e); } + ConferenceParamsInterface::SecurityLevel securityLevel = confParams.getSecurityLevel(); + if (chatRoom) { + securityLevel = + (chatRoom->getCurrentParams()->isEncrypted() ? ConferenceParamsInterface::SecurityLevel::EndToEnd + : ConferenceParamsInterface::SecurityLevel::None); + } + const auto cryptoSecurityLevel = CryptoSecurityLevel(ConferenceParams::getSecurityLevelAttribute(securityLevel)); + auto &confDescrDOMDoc = confDescr.getDomDocument(); + ::xercesc::DOMElement *e(confDescrDOMDoc.createElementNS( + ::xsd::cxx::xml::string("linphone:xml:ns:conference-info-linphone-extension").c_str(), + ::xsd::cxx::xml::string("linphone-cie:crypto-security-level").c_str())); + *e << cryptoSecurityLevel; + confDescr.getAny().push_back(e); + confInfo.setConferenceDescription((const ConferenceDescriptionType)confDescr); UsersType users; @@ -354,6 +369,9 @@ void LocalConferenceEventHandler::addMediaCapabilities(const std::shared_ptr<Par audio.setSrcId(std::to_string(device->getSsrc(LinphoneStreamTypeAudio))); } } + if (!device->getLabel(LinphoneStreamTypeAudio).empty()) { + audio.setLabel(device->getLabel(LinphoneStreamTypeAudio)); + } audio.setStatus(LocalConferenceEventHandler::mediaDirectionToMediaStatus(audioDirection)); endpoint.getMedia().push_back(audio); @@ -362,8 +380,8 @@ void LocalConferenceEventHandler::addMediaCapabilities(const std::shared_ptr<Par video.setDisplayText("video"); video.setType("video"); if (videoDirection != LinphoneMediaDirectionInactive) { - if (!device->getLabel().empty()) { - video.setLabel(device->getLabel()); + if (!device->getLabel(LinphoneStreamTypeVideo).empty()) { + video.setLabel(device->getLabel(LinphoneStreamTypeVideo)); } if (device->getSsrc(LinphoneStreamTypeVideo) > 0) { video.setSrcId(std::to_string(device->getSsrc(LinphoneStreamTypeVideo))); @@ -465,7 +483,6 @@ Content LocalConferenceEventHandler::createNotifyMultipart(int notifyId) { static_pointer_cast<ConferenceAvailableMediaEvent>(eventLog); body = createNotifyAvailableMediaChanged(availableMediaEvent->getAvailableMediaType()); } break; - default: // We should never pass here! L_ASSERT(false); @@ -994,7 +1011,6 @@ LinphoneStatus LocalConferenceEventHandler::subscribeReceived(const shared_ptr<E ev->accept(); if (ev->getState() == LinphoneSubscriptionActive) { unsigned int evLastNotify = static_cast<unsigned int>(Utils::stoi(ev->getCustomHeader("Last-Notify-Version"))); - auto oldEv = device->getConferenceSubscribeEvent(); device->setConferenceSubscribeEvent(ev); if (oldEv) { @@ -1098,9 +1114,7 @@ void LocalConferenceEventHandler::onParticipantAdded(const std::shared_ptr<Confe // Do not send notify if conference pointer is null. It may mean that the confernece has been terminated if (conf) { notifyAllExcept(makeContent(createNotifyParticipantAdded(participant->getAddress())), participant); -#ifdef HAVE_DB_STORAGE conf->updateParticipantsInConferenceInfo(participant->getAddress()); -#endif // HAVE_DB_STORAGE if (conf) { shared_ptr<Core> core = conf->getCore(); diff --git a/src/conference/handlers/remote-conference-event-handler.cpp b/src/conference/handlers/remote-conference-event-handler.cpp index 35d87b250e..a9d475c450 100644 --- a/src/conference/handlers/remote-conference-event-handler.cpp +++ b/src/conference/handlers/remote-conference-event-handler.cpp @@ -31,6 +31,7 @@ #include "conference/participant.h" #include "conference/remote-conference.h" +#include "conference_private.h" #include "content/content-manager.h" #include "content/content-type.h" #include "content/content.h" @@ -229,10 +230,27 @@ void RemoteConferenceEventHandler::conferenceInfoNotifyReceived(const string &xm cgcr->getCurrentParams()->setEphemeralMode(AbstractChatRoom::EphemeralMode::DeviceManaged); } } + } else if (nodeName == "linphone-cie:crypto-security-level") { + CryptoSecurityLevel cryptoSecurityLevel{anyElement}; + auto securityLevelString = cryptoSecurityLevel.getLevel(); + auto securityLevel = ConferenceParams::getSecurityLevelFromAttribute(securityLevelString); + conf->confParams->setSecurityLevel(securityLevel); + conf->updateSecurityLevelInConferenceInfo(securityLevel); } } } + auto &confState = confInfo->getConferenceState(); + if (confState.present()) { + auto &anySequence(confState.get().getAny()); + + for (const auto &anyElement : anySequence) { + auto name = xsd::cxx::xml::transcode<char>(anyElement.getLocalName()); + auto nodeName = xsd::cxx::xml::transcode<char>(anyElement.getNodeName()); + auto nodeValue = xsd::cxx::xml::transcode<char>(anyElement.getNodeValue()); + } + } + auto oldParticipants = conf->getParticipants(); auto oldMeDevices = conf->getMe()->getDevices(); if (isFullState) { @@ -280,12 +298,9 @@ void RemoteConferenceEventHandler::conferenceInfoNotifyReceived(const string &xm } else { participant = Participant::create(conf, address); conf->participants.push_back(participant); -#ifdef HAVE_DB_STORAGE conf->updateParticipantsInConferenceInfo(address); -#endif // HAVE_DB_STORAGE lInfo() << "Participant " << *participant << " is successfully added - conference " << conferenceAddressString << " has " << conf->getParticipantCount() << " participants"; - if (!isFullState || (!oldParticipants.empty() && (pIt == oldParticipants.cend()) && !conf->isMe(address))) { conf->notifyParticipantAdded(creationTime, isFullState, participant); @@ -430,7 +445,7 @@ void RemoteConferenceEventHandler::conferenceInfoNotifyReceived(const string &xm if (media.getLabel()) { const std::string label = media.getLabel().get(); if (!label.empty()) { - device->setLabel(label); + device->setLabel(label, streamType); } } if (mediaDirection == LinphoneMediaDirectionInactive) { @@ -527,6 +542,7 @@ void RemoteConferenceEventHandler::conferenceInfoNotifyReceived(const string &xm device->setToTag(sip.getToTag()); } } + const string &name = endpoint.getDisplayText().present() ? endpoint.getDisplayText().get() : ""; if (!name.empty()) device->setName(name); @@ -675,7 +691,7 @@ void RemoteConferenceEventHandler::subscribe() { void RemoteConferenceEventHandler::unsubscribePrivate() { if (ev) { - /* The following tricky code is to break a cycle. Indeed linphone_event_terminate() will chage the event's + /* The following tricky code is to break a cycle. Indeed linphone_event_terminate() will change the event's * state, which will be notified to the core, that will call us immediately in invalidateSubscription(), which * resets 'ev' while we still have to unref it.*/ shared_ptr<EventSubscribe> tmpEv = ev; diff --git a/src/conference/local-conference.cpp b/src/conference/local-conference.cpp index 52c3dfc412..01910888ea 100644 --- a/src/conference/local-conference.cpp +++ b/src/conference/local-conference.cpp @@ -58,6 +58,7 @@ LocalConference::LocalConference(const shared_ptr<Core> &core, lastNotify = 1; this->confParams->enableLocalParticipant(false); + this->confParams->enableChat(true); #ifdef HAVE_ADVANCED_IM eventHandler = std::make_shared<LocalConferenceEventHandler>(this, confListener); diff --git a/src/conference/participant-device.cpp b/src/conference/participant-device.cpp index 54abe63168..724088abec 100644 --- a/src/conference/participant-device.cpp +++ b/src/conference/participant-device.cpp @@ -151,7 +151,6 @@ bool ParticipantDevice::setSsrc(const LinphoneStreamType type, uint32_t newSsrc) ssrc[type] = newSsrc; changed = true; } - auto conference = getConference(); switch (type) { case LinphoneStreamTypeAudio: @@ -308,6 +307,27 @@ void ParticipantDevice::setSession(std::shared_ptr<CallSession> session) { mSession = session; } +const std::string &ParticipantDevice::getLabel(const LinphoneStreamType type) const { + try { + return label.at(type); + } catch (std::out_of_range &) { + return Utils::getEmptyConstRefObject<string>(); + } +} + +bool ParticipantDevice::setLabel(const std::string &streamLabel, const LinphoneStreamType type) { + const bool idxFound = (label.find(type) != label.cend()); + if (!idxFound || (label[type] != streamLabel)) { + auto conference = getConference(); + lInfo() << "Setting label of " << std::string(linphone_stream_type_to_string(type)) + << " stream of participant device " << getAddress() << " in conference " + << conference->getConferenceAddress() << " to " << streamLabel; + label[type] = streamLabel; + return true; + } + return false; +} + LinphoneMediaDirection ParticipantDevice::getStreamCapability(const LinphoneStreamType type) const { try { return mediaCapabilities.at(type); @@ -334,15 +354,18 @@ LinphoneMediaDirection ParticipantDevice::getStreamDirectionFromSession(const Li (state == CallSession::State::OutgoingEarlyMedia) || (state == CallSession::State::PushIncomingReceived); const MediaSessionParams *participantParams = nullptr; + auto isInLocalConference = false; if (mSession) { + isInLocalConference = mSession->getPrivate()->isInConference(); + const auto mMediaSession = static_pointer_cast<MediaSession>(mSession); if (sessionNotEstablished) { if (mSession->getPrivate()->isInConference()) { - participantParams = static_pointer_cast<MediaSession>(mSession)->getRemoteParams(); + participantParams = mMediaSession->getRemoteParams(); } else { - participantParams = static_pointer_cast<MediaSession>(mSession)->getMediaParams(); + participantParams = mMediaSession->getMediaParams(); } } else { - participantParams = static_pointer_cast<MediaSession>(mSession)->getCurrentParams(); + participantParams = mMediaSession->getCurrentParams(); } } else { participantParams = nullptr; @@ -365,12 +388,14 @@ LinphoneMediaDirection ParticipantDevice::getStreamDirectionFromSession(const Li } } - // Current params stores the negotiated media direction from the local standpoint, hence it must be flipped if it is - // unidirectional - if (dir == LinphoneMediaDirectionSendOnly) { - dir = LinphoneMediaDirectionRecvOnly; - } else if (dir == LinphoneMediaDirectionRecvOnly) { - dir = LinphoneMediaDirectionSendOnly; + // Current params store the negotiated media direction from the local standpoint, hence it must be flipped if it is + // unidirectional. + if (isInLocalConference) { + if (dir == LinphoneMediaDirectionSendOnly) { + dir = LinphoneMediaDirectionRecvOnly; + } else if (dir == LinphoneMediaDirectionRecvOnly) { + dir = LinphoneMediaDirectionSendOnly; + } } return dir; @@ -609,11 +634,13 @@ void *ParticipantDevice::createWindowId() const { #ifdef VIDEO_ENABLED const auto &conference = getConference(); const auto session = getSession() ? getSession() : (conference ? conference->getMainSession() : nullptr); - if (!mLabel.empty() && session) { - windowId = static_pointer_cast<MediaSession>(session)->createNativeVideoWindowId(mLabel); + if ((!label.at(LinphoneStreamTypeVideo).empty()) && session) { + windowId = + static_pointer_cast<MediaSession>(session)->createNativeVideoWindowId(label.at(LinphoneStreamTypeVideo)); } else { lError() << "Unable to create a window ID for device " << *getAddress() - << " because either label is empty (actual " << (mLabel.empty() ? "<not-defined>" : mLabel) + << " because either label is empty (actual " + << (label.at(LinphoneStreamTypeVideo).empty() ? "<not-defined>" : label.at(LinphoneStreamTypeVideo)) << ") or no session is linked to this device (actual " << session << ")"; } #endif @@ -629,17 +656,19 @@ void ParticipantDevice::setWindowId(void *newWindowId) { mWindowId = newWindowId; const auto &conference = getConference(); const auto session = getSession() ? getSession() : (conference ? conference->getMainSession() : nullptr); - if (!mLabel.empty() && session) { + const auto videoLabel = label.at(LinphoneStreamTypeVideo); + + if ((!videoLabel.empty()) && session) { if (conference->isMe(getAddress())) { linphone_core_set_native_preview_window_id(getCore()->getCCore(), mWindowId); } else { auto s = static_pointer_cast<MediaSession>(session); - s->setNativeVideoWindowId(mWindowId, mLabel); + s->setNativeVideoWindowId(mWindowId, videoLabel); } } else { lError() << "Unable to set window ID for device " << *getAddress() << " because either label is empty (actual " - << (mLabel.empty() ? "<not-defined>" : mLabel) << ") or no session is linked to this device (actual " - << session << ")"; + << (label.at(LinphoneStreamTypeVideo).empty() ? "<not-defined>" : label.at(LinphoneStreamTypeVideo)) + << ") or no session is linked to this device (actual " << session << ")"; } #endif } diff --git a/src/conference/participant-device.h b/src/conference/participant-device.h index 4edc04b7d1..c4ce1a9371 100644 --- a/src/conference/participant-device.h +++ b/src/conference/participant-device.h @@ -98,12 +98,6 @@ public: const std::shared_ptr<Address> &getAddress() const; void setAddress(const std::shared_ptr<Address> &address); - inline const std::string &getLabel() const { - return mLabel; - } - inline void setLabel(const std::string &label) { - mLabel = label; - }; const std::string &getCallId(); void setCallId(const std::string &callId); const std::string &getFromTag(); @@ -189,6 +183,9 @@ public: void setWindowId(void *newWindowId); void *getWindowId() const; + bool setLabel(const std::string &label, const LinphoneStreamType type); + const std::string &getLabel(const LinphoneStreamType type) const; + bool setStreamCapability(const LinphoneMediaDirection &direction, const LinphoneStreamType type); LinphoneMediaDirection getStreamCapability(const LinphoneStreamType type) const; @@ -212,7 +209,6 @@ private: std::weak_ptr<Participant> mParticipant; std::shared_ptr<Address> mGruu; std::string mName; - std::string mLabel; std::shared_ptr<CallSession> mSession; std::string mCapabilityDescriptor; std::string mCallId; @@ -233,6 +229,7 @@ private: std::map<LinphoneStreamType, LinphoneMediaDirection> mediaCapabilities; std::map<LinphoneStreamType, bool> streamAvailabilities; std::map<LinphoneStreamType, uint32_t> ssrc; + std::map<LinphoneStreamType, std::string> label; void *mUserData = nullptr; diff --git a/src/conference/participant.cpp b/src/conference/participant.cpp index 91fcf0a12b..6f7cc7df8e 100644 --- a/src/conference/participant.cpp +++ b/src/conference/participant.cpp @@ -18,12 +18,11 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "participant.h" - #include <algorithm> #include "core/core.h" #include "params/media-session-params.h" +#include "participant.h" #include "session/media-session.h" using namespace std; @@ -161,8 +160,11 @@ void Participant::clearDevices() { shared_ptr<ParticipantDevice> Participant::findDevice(const std::string &label, const bool logFailure) const { for (const auto &device : devices) { - const auto &deviceLabel = device->getLabel(); - if (!label.empty() && !deviceLabel.empty() && (deviceLabel.compare(label) == 0)) return device; + const auto &deviceVideoLabel = device->getLabel(LinphoneStreamTypeVideo); + const auto &deviceAudioLabel = device->getLabel(LinphoneStreamTypeAudio); + if (!label.empty() && ((!deviceAudioLabel.empty() && deviceAudioLabel.compare(label) == 0) || + (!deviceVideoLabel.empty() && deviceVideoLabel.compare(label) == 0))) + return device; } if (logFailure) { lInfo() << "Unable to find device with label " << label << " among those belonging to participant " diff --git a/src/conference/session/audio-mixer.cpp b/src/conference/session/audio-mixer.cpp index 3cebd21846..3107c3fcaa 100644 --- a/src/conference/session/audio-mixer.cpp +++ b/src/conference/session/audio-mixer.cpp @@ -33,6 +33,7 @@ MS2AudioMixer::MS2AudioMixer(MixerSession &session) : StreamMixer(session) { MSAudioConferenceParams ms_conf_params; ms_conf_params.samplerate = linphone_config_get_int(mSession.getCCore()->config, "sound", "conference_rate", 16000); ms_conf_params.active_talker_callback = &MS2AudioMixer::sOnActiveTalkerChanged; + ms_conf_params.security_level = StreamMixer::securityLevelToMsSecurityLevel(session.getSecurityLevel()); ms_conf_params.user_data = this; mConference = ms_audio_conference_new(&ms_conf_params, mSession.getCCore()->factory); } diff --git a/src/conference/session/call-session.cpp b/src/conference/session/call-session.cpp index dd6aff8e1a..fc2f63f72a 100644 --- a/src/conference/session/call-session.cpp +++ b/src/conference/session/call-session.cpp @@ -260,7 +260,9 @@ void CallSessionPrivate::onCallStateChanged(BCTBX_UNUSED(LinphoneCall *call), } void CallSessionPrivate::executePendingActions() { - if ((state != CallSession::State::End) && (state != CallSession::State::Released) && + L_Q(); + bool_t networkReachable = linphone_core_is_network_reachable(q->getCore()->getCCore()); + if (networkReachable && (state != CallSession::State::End) && (state != CallSession::State::Released) && (state != CallSession::State::Error)) { std::queue<std::function<LinphoneStatus()>> unsuccessfulActions; auto copyPendingActions = pendingActions; @@ -960,16 +962,26 @@ void CallSessionPrivate::setContactOp() { // Do not try to set contact address if it is not valid if (contactAddress && contactAddress->isValid()) { auto contactParams = q->getParams()->getPrivate()->getCustomContactParameters(); - for (auto it = contactParams.begin(); it != contactParams.end(); it++) + for (auto it = contactParams.begin(); it != contactParams.end(); it++) { contactAddress->setParam(it->first, it->second); + } q->updateContactAddress(*contactAddress); if (isInConference()) { std::shared_ptr<MediaConference::Conference> conference = q->getCore()->findAudioVideoConference(ConferenceId(contactAddress, contactAddress)); + + auto guessedConferenceAddress = + Address::create((direction == LinphoneCallIncoming) ? op->getTo() : op->getFrom()); + auto &mainDb = q->getCore()->getPrivate()->mainDb; + const auto &confInfo = mainDb->getConferenceInfoFromURI(guessedConferenceAddress); if (conference) { // Try to change conference address in order to add GRUU to it // Note that this operation may fail if the conference was previously created on the server conference->setConferenceAddress(contactAddress); + } else if (confInfo && confInfo->getUri()->isValid()) { + // The conference may have already been terminated when setting the contact address. + // This happens when an admin cancel a conference by sending an INVITE with an empty resource list + contactAddress = confInfo->getUri(); } } @@ -983,7 +995,6 @@ void CallSessionPrivate::setContactOp() { } // ----------------------------------------------------------------------------- - void CallSessionPrivate::onNetworkReachable(bool sipNetworkReachable, BCTBX_UNUSED(bool mediaNetworkReachable)) { if (sipNetworkReachable) { repairIfBroken(); @@ -1877,7 +1888,6 @@ void CallSession::updateContactAddress(Address &contactAddress) const { const auto isInConference = d->isInConference(); const std::string confId(d->getConferenceId()); - if (isInConference) { // Add conference ID if (!contactAddress.hasUriParam("conf-id")) { diff --git a/src/conference/session/media-session-p.h b/src/conference/session/media-session-p.h index 92f7a8db01..52bab2ec2a 100644 --- a/src/conference/session/media-session-p.h +++ b/src/conference/session/media-session-p.h @@ -193,7 +193,7 @@ public: LinphoneMediaEncryption getNegotiatedMediaEncryption() const; int getThumbnailStreamIdx(const std::shared_ptr<SalMediaDescription> &md) const; int getMainVideoStreamIdx(const std::shared_ptr<SalMediaDescription> &md) const; - LinphoneMediaDirection getVideoDirFromMd(const std::shared_ptr<SalMediaDescription> &md) const; + LinphoneMediaDirection getDirFromMd(const std::shared_ptr<SalMediaDescription> &md, const SalStreamType type) const; void validateVideoStreamDirection(SalStreamConfiguration &cfg) const; bool mandatoryRtpBundleEnabled() const; @@ -237,20 +237,28 @@ private: const std::list<OrtpPayloadType *> &codecs, const std::string mid, const SalCustomSdpAttribute *customSdpAttributes); - void fillConferenceParticipantVideoStream(SalStreamDescription &newStream, - const std::shared_ptr<SalMediaDescription> &oldMd, + void fillConferenceParticipantStream(SalStreamDescription &newStream, + const std::shared_ptr<SalMediaDescription> &oldMd, + std::shared_ptr<SalMediaDescription> &md, + const std::shared_ptr<ParticipantDevice> &dev, + PayloadTypeHandler &pth, + const std::list<LinphoneMediaEncryption> &encs, + SalStreamType type, + const std::string &mid); + void addConferenceLocalParticipantStreams(bool add, std::shared_ptr<SalMediaDescription> &md, - const std::shared_ptr<ParticipantDevice> &dev, - PayloadTypeHandler &pth, - const std::list<LinphoneMediaEncryption> &encs); - void addConferenceParticipantVideostreams(std::shared_ptr<SalMediaDescription> &md, const std::shared_ptr<SalMediaDescription> &oldMd, PayloadTypeHandler &pth, - const std::list<LinphoneMediaEncryption> &encs); + const std::list<LinphoneMediaEncryption> &encs, + const SalStreamType type); + void addConferenceParticipantStreams(std::shared_ptr<SalMediaDescription> &md, + const std::shared_ptr<SalMediaDescription> &oldMd, + PayloadTypeHandler &pth, + const std::list<LinphoneMediaEncryption> &encs, + const SalStreamType type); void copyOldStreams(std::shared_ptr<SalMediaDescription> &md, const std::shared_ptr<SalMediaDescription> &oldMd, const std::shared_ptr<SalMediaDescription> &refMd, - PayloadTypeHandler &pth, const std::list<LinphoneMediaEncryption> &encs); void setupDtlsKeys(std::shared_ptr<SalMediaDescription> &md); void setupEncryptionKeys(std::shared_ptr<SalMediaDescription> &md, diff --git a/src/conference/session/media-session.cpp b/src/conference/session/media-session.cpp index 86ae458d8b..13563f6a49 100644 --- a/src/conference/session/media-session.cpp +++ b/src/conference/session/media-session.cpp @@ -429,9 +429,18 @@ void MediaSessionPrivate::accepted() { case CallSession::State::StreamsRunning: break; default: - lInfo() << "Incompatible SDP answer received, restoring previous state [" - << Utils::toString(prevState) << "]"; - setState(prevState, "Incompatible media parameters."); + lError() << "Incompatible SDP answer received"; + switch (state) { + case CallSession::State::PausedByRemote: + case CallSession::State::Paused: + case CallSession::State::StreamsRunning: + break; + default: + lInfo() << "Incompatible SDP answer received, restoring previous state [" + << Utils::toString(prevState) << "]"; + setState(prevState, "Incompatible media parameters."); + break; + } break; } break; @@ -1362,6 +1371,12 @@ void MediaSessionPrivate::forceStreamsDirAccordingToState(std::shared_ptr<SalMed linphone_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", "inactive_video_on_pause", 0)) sd.setDirection(SalStreamInactive); + } else if (sd.getDirection() != SalStreamInactive) { + sd.setDirection(SalStreamSendOnly); + if ((sd.type == SalVideo) && + linphone_config_get_int(linphone_core_get_config(q->getCore()->getCCore()), "sip", + "inactive_video_on_pause", 0)) + sd.setDirection(SalStreamInactive); } break; default: @@ -1546,12 +1561,14 @@ void MediaSessionPrivate::fillRtpParameters(SalStreamDescription &stream) const } } -void MediaSessionPrivate::fillConferenceParticipantVideoStream(SalStreamDescription &newStream, - const std::shared_ptr<SalMediaDescription> &oldMd, - std::shared_ptr<SalMediaDescription> &md, - const std::shared_ptr<ParticipantDevice> &dev, - PayloadTypeHandler &pth, - const std::list<LinphoneMediaEncryption> &encs) { +void MediaSessionPrivate::fillConferenceParticipantStream(SalStreamDescription &newStream, + const std::shared_ptr<SalMediaDescription> &oldMd, + std::shared_ptr<SalMediaDescription> &md, + const std::shared_ptr<ParticipantDevice> &dev, + PayloadTypeHandler &pth, + const std::list<LinphoneMediaEncryption> &encs, + SalStreamType type, + const std::string &mid) { L_Q(); // Declare here an empty list to give to the makeCodecsList if there is no valid already assigned payloads @@ -1561,24 +1578,27 @@ void MediaSessionPrivate::fillConferenceParticipantVideoStream(SalStreamDescript SalStreamConfiguration cfg; cfg.proto = getParams()->getMediaProto(); - newStream.type = SalVideo; + newStream.type = type; bool bundle_enabled = getParams()->rtpBundleEnabled(); bool success = false; if (dev) { - const auto &label = dev->getLabel(); + const auto &label = dev->getLabel(sal_stream_type_to_linphone(type)); const auto &previousParticipantStream = - oldMd ? oldMd->findStreamWithLabel(label) : Utils::getEmptyConstRefObject<SalStreamDescription>(); + oldMd ? oldMd->findStreamWithLabel(type, label) : Utils::getEmptyConstRefObject<SalStreamDescription>(); const auto alreadyAssignedPayloads = ((previousParticipantStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) ? previousParticipantStream.already_assigned_payloads : emptyList); - std::list<OrtpPayloadType *> l = pth.makeCodecsList(SalVideo, 0, -1, alreadyAssignedPayloads, bundle_enabled); + std::list<OrtpPayloadType *> l = pth.makeCodecsList(type, 0, -1, alreadyAssignedPayloads, bundle_enabled); if (!l.empty()) { newStream.setLabel(label); - newStream.name = "Video " + dev->getAddress()->toString(); + const auto rtp_port = q->getRandomRtpPort(newStream); + newStream.rtp_port = rtp_port; + newStream.rtcp_port = newStream.rtp_port + 1; + newStream.name = std::string(sal_stream_type_to_string(type)) + " " + dev->getAddress()->toString(); const auto &content = newStream.getContent(); const bool isInLocalConference = getParams()->getPrivate()->getInConference(); @@ -1590,35 +1610,45 @@ void MediaSessionPrivate::fillConferenceParticipantVideoStream(SalStreamDescript : nullptr; auto dir = SalStreamInactive; + // A participant device can only send a video stream if its video direction has the send component (i.e. + // SendOnly or SendRecv) if (conference && (participantDevice == dev)) { - dir = (isInLocalConference) ? SalStreamRecvOnly - : ((getParams()->getPrivate()->getSalVideoDirection() == SalStreamSendRecv) - ? SalStreamSendOnly - : SalStreamInactive); + dir = (isInLocalConference) + ? SalStreamRecvOnly + : (((getParams()->getPrivate()->getSalVideoDirection() == SalStreamSendOnly) || + (getParams()->getPrivate()->getSalVideoDirection() == SalStreamSendRecv)) + ? SalStreamSendOnly + : SalStreamInactive); } else { if (content.compare("main") == 0) { dir = (isInLocalConference) ? SalStreamRecvOnly : SalStreamSendOnly; } else { - if (isInLocalConference) { - auto mediaDir = dev->getStreamCapability(LinphoneStreamTypeVideo); - if ((mediaDir == LinphoneMediaDirectionSendRecv) || - (mediaDir == LinphoneMediaDirectionSendOnly)) { - dir = SalStreamSendOnly; - } else if ((mediaDir == LinphoneMediaDirectionInactive) || - (mediaDir == LinphoneMediaDirectionRecvOnly)) { + const auto &mediaDir = dev->getStreamCapability(sal_stream_type_to_linphone(type)); + switch (mediaDir) { + case LinphoneMediaDirectionSendRecv: + case LinphoneMediaDirectionSendOnly: + dir = (isInLocalConference) ? SalStreamSendOnly : SalStreamRecvOnly; + break; + case LinphoneMediaDirectionRecvOnly: + case LinphoneMediaDirectionInactive: + case LinphoneMediaDirectionInvalid: dir = SalStreamInactive; - } - } else { - dir = (label.empty()) ? SalStreamInactive : SalStreamRecvOnly; + dir = (label.empty()) ? SalStreamInactive : SalStreamRecvOnly; + break; } } } if (dir == SalStreamInactive) { - lWarning() << *q << "Setting stream inactive for label " << label << " and content " << content; + lWarning() << *q << "Setting " << std::string(sal_stream_type_to_string(type)) + << " stream of participant device " << dev->getAddress() << " to inactive (label " << label + << " and content " << content + << ") because he or she doesn't have the send component in its stream capabilities"; } cfg.dir = dir; - validateVideoStreamDirection(cfg); - if (getParams()->rtpBundleEnabled()) addStreamToBundle(md, newStream, cfg, "vs" + label); + if (type == SalVideo) { + validateVideoStreamDirection(cfg); + } + if (getParams()->rtpBundleEnabled()) addStreamToBundle(md, newStream, cfg, mid); cfg.replacePayloads(l); newStream.addActualConfiguration(cfg); newStream.setSupportedEncryptions(encs); @@ -1634,6 +1664,7 @@ void MediaSessionPrivate::fillConferenceParticipantVideoStream(SalStreamDescript << "] because no valid payload has been found or device is not valid (pointer " << dev << ")"; cfg.dir = SalStreamInactive; newStream.disable(); + newStream.type = type; newStream.rtp_port = 0; newStream.rtcp_port = 0; newStream.addActualConfiguration(cfg); @@ -1695,65 +1726,116 @@ void MediaSessionPrivate::fillLocalStreamDescription(SalStreamDescription &strea SalStreamDescription &MediaSessionPrivate::addStreamToMd(std::shared_ptr<SalMediaDescription> md, int streamIdx, const std::shared_ptr<SalMediaDescription> &oldMd) { - const auto oldSize = md->streams.size(); - const int protectedStreamNumber = 3; + L_Q(); + const auto currentMdSize = md->streams.size(); + std::list<unsigned int> protectedStreamNumbers; + std::list<unsigned int> protectedStreamNumbersOldMd; + // Protected streams are only meaningful when the call is in a conference + auto conference = listener ? listener->getCallSessionConference(q->getSharedFromThis()) : nullptr; + // Protected streams are the first audio stream and the first 2 video streams as they handle local participant + // medias + auto firstAudioStream = md->findFirstStreamIdxOfType(SalAudio); + if (firstAudioStream > -1) { + protectedStreamNumbers.push_back(static_cast<unsigned int>(firstAudioStream)); + } + auto firstVideoStream = md->findFirstStreamIdxOfType(SalVideo); + if (firstVideoStream > -1) { + protectedStreamNumbers.push_back(static_cast<unsigned int>(firstVideoStream)); + if (conference) { + auto secondVideoStream = md->findFirstStreamIdxOfType(SalVideo, firstVideoStream + 1); + if (secondVideoStream > -1) { + protectedStreamNumbers.push_back(static_cast<unsigned int>(secondVideoStream)); + } + } + } + + if (oldMd) { + auto firstAudioStreamOldMd = oldMd->findFirstStreamIdxOfType(SalAudio); + if (firstAudioStreamOldMd > -1) { + protectedStreamNumbersOldMd.push_back(static_cast<unsigned int>(firstAudioStreamOldMd)); + } + auto firstVideoStreamOldMd = oldMd->findFirstStreamIdxOfType(SalVideo); + if (firstVideoStreamOldMd > -1) { + protectedStreamNumbersOldMd.push_back(static_cast<unsigned int>(firstVideoStreamOldMd)); + if (conference) { + auto secondVideoStreamOldMd = oldMd->findFirstStreamIdxOfType(SalVideo, firstVideoStreamOldMd + 1); + if (secondVideoStreamOldMd > -1) { + protectedStreamNumbersOldMd.push_back(static_cast<unsigned int>(secondVideoStreamOldMd)); + } + } + } + } + + // Search for a free slot + int freeSlot = -1; + for (size_t mdStreamIdx = 0; mdStreamIdx < currentMdSize; mdStreamIdx++) { + const auto &protectedIdx = (std::find(protectedStreamNumbers.cbegin(), protectedStreamNumbers.cend(), + mdStreamIdx) != protectedStreamNumbers.cend()); + auto stream = md->getStreamIdx(static_cast<unsigned int>(mdStreamIdx)); + if (!protectedIdx && (stream.getDirection() == SalStreamInactive)) { + freeSlot = static_cast<int>(mdStreamIdx); + break; + } + } + if (streamIdx < 0) { - const auto inactiveStreamIt = - (oldSize <= protectedStreamNumber) - ? md->streams.cend() - : std::find_if(md->streams.cbegin() + protectedStreamNumber, md->streams.cend(), - [](const auto s) { return (s.getDirection() == SalStreamInactive); }); - if (inactiveStreamIt == md->streams.cend()) { - md->streams.resize(oldSize + 1); - return md->streams[oldSize]; + if (freeSlot < 0) { + md->streams.resize(currentMdSize + 1); + return md->streams[currentMdSize]; } else { - auto idx = - static_cast<decltype(md->streams)::size_type>(std::distance(md->streams.cbegin(), inactiveStreamIt)); - return md->streams[idx]; + return md->streams[static_cast<size_t>(freeSlot)]; } } else { const auto &idx = static_cast<decltype(md->streams)::size_type>(streamIdx); try { auto stream = md->streams.at(idx); + // If a stream at the index requested in the the function argument has already been allocated and it is + // active, then it must be replaced. if ((stream.getDirection() != SalStreamInactive) && oldMd) { const auto oldMdSize = oldMd->streams.size(); - const auto streamInOldMdIt = - ((oldMdSize <= (idx + 2)) || (oldMdSize <= protectedStreamNumber)) - ? oldMd->streams.cend() - : std::find_if(oldMd->streams.cbegin() + protectedStreamNumber, oldMd->streams.cend(), - [&stream](const auto s) { return (s.getLabel() == stream.getLabel()); }); + int idxOldMd = -1; + for (size_t mdStreamIdx = 0; mdStreamIdx < oldMdSize; mdStreamIdx++) { + const auto &protectedIdx = + (std::find(protectedStreamNumbersOldMd.cbegin(), protectedStreamNumbersOldMd.cend(), + mdStreamIdx) != protectedStreamNumbersOldMd.cend()); + auto oldStream = oldMd->getStreamIdx(static_cast<unsigned int>(mdStreamIdx)); + if (!protectedIdx && (oldStream.getLabel() == stream.getLabel())) { + idxOldMd = static_cast<int>(mdStreamIdx); + break; + } + } // If the stream to replace was not in the previous media description, search an inactive stream or // append at the end - if (streamInOldMdIt == oldMd->streams.cend()) { - const auto inactiveStreamIt = - (oldSize <= protectedStreamNumber) - ? md->streams.cend() - : std::find_if(md->streams.cbegin() + protectedStreamNumber, md->streams.cend(), - [](const auto s) { return (s.getDirection() == SalStreamInactive); }); - if (inactiveStreamIt == md->streams.cend()) { + if (idxOldMd < 0) { + // If there no available slot to stored that stream being moved, then put at the end + if (freeSlot < 0) { md->streams.push_back(stream); } else { - auto inactiveStreamIdx = static_cast<decltype(md->streams)::size_type>( - std::distance(md->streams.cbegin(), inactiveStreamIt)); - md->streams[inactiveStreamIdx] = stream; + md->streams[static_cast<size_t>(freeSlot)] = stream; } } else { - auto positionInOldMd = static_cast<decltype(oldMd->streams)::size_type>( - std::distance(oldMd->streams.cbegin(), streamInOldMdIt)); - auto &streamToFill = addStreamToMd(md, static_cast<int>(positionInOldMd), oldMd); + auto &streamToFill = addStreamToMd(md, idxOldMd, oldMd); streamToFill = stream; } } return md->streams.at(idx); } catch (std::out_of_range &) { + // If a stream at the index requested in the the function argument has not already been allocated, resize + // the vector list + lWarning() << "The current media description has only " << currentMdSize + << " streams and it has been requested to allocate a stream at index " << idx; md->streams.resize(idx + 1); if (oldMd) { - for (decltype(md->streams)::size_type i = oldSize; i < idx; i++) { - const auto &s = oldMd->streams[i]; + const auto oldMdSize = oldMd->streams.size(); + lWarning() << "Keep the same type as in the previous media description for all newly allocate streams"; + for (decltype(md->streams)::size_type i = currentMdSize; i < idx; i++) { auto &c = md->streams[i]; - c.type = s.type; - /* FIXME: an explanation should be given for doing this, it is not obvious what this case is for.*/ - lWarning() << "Setting stream inactive at index " << i << " because of std::out_of_range."; + if (i < oldMdSize) { + const auto &s = oldMd->streams[i]; + c.type = s.type; + } + lWarning() << "Setting " << std::string(sal_stream_type_to_string(c.type)) + << " stream inactive at index " << i << " because of std::out_of_range."; c.setDirection(SalStreamInactive); } } @@ -1762,11 +1844,102 @@ SalStreamDescription &MediaSessionPrivate::addStreamToMd(std::shared_ptr<SalMedi } } -void MediaSessionPrivate::addConferenceParticipantVideostreams(std::shared_ptr<SalMediaDescription> &md, +void MediaSessionPrivate::addConferenceLocalParticipantStreams(bool add, + std::shared_ptr<SalMediaDescription> &md, const std::shared_ptr<SalMediaDescription> &oldMd, PayloadTypeHandler &pth, - const std::list<LinphoneMediaEncryption> &encs) { + const std::list<LinphoneMediaEncryption> &encs, + const SalStreamType type) { L_Q(); + auto conference = listener ? listener->getCallSessionConference(q->getSharedFromThis()) : nullptr; + if (conference) { + const auto ¤tConfParams = conference->getCurrentParams(); + bool isVideoConferenceEnabled = currentConfParams.videoEnabled(); + if (((type == SalVideo) && isVideoConferenceEnabled) || (type == SalAudio)) { + std::list<OrtpPayloadType *> emptyList; + bool isInLocalConference = getParams()->getPrivate()->getInConference(); + const std::string content((type == SalAudio) ? "DTX" : "thumbnail"); + const auto &participantDevice = isInLocalConference + ? conference->findParticipantDevice(q->getSharedFromThis()) + : conference->getMe()->findDevice(q->getSharedFromThis()); + if (participantDevice) { + const auto &deviceState = participantDevice->getState(); + const auto &deviceLabel = participantDevice->getLabel(sal_stream_type_to_linphone(type)); + // Copy streams from previous SDP if we are the offerer or not a conference server as the latter is a + // passive agent + const auto &refMd = + (localIsOfferer || !linphone_core_conference_server_enabled(q->getCore()->getCCore())) + ? oldMd + : op->getRemoteMediaDescription(); + const auto &foundStreamIdx = refMd->findIdxStreamWithContent(content, deviceLabel); + const auto addStream = + ((foundStreamIdx != -1) || (localIsOfferer && (deviceState == ParticipantDevice::State::Joining)) || + (deviceState == ParticipantDevice::State::Present) || + (deviceState == ParticipantDevice::State::OnHold)); + if (addStream) { + SalStreamDescription &newStream = addStreamToMd(md, foundStreamIdx, oldMd); + SalStreamConfiguration cfg; + + newStream.type = type; + newStream.setContent(content); + + if (!deviceLabel.empty()) { + newStream.setLabel(deviceLabel); + } + + cfg.proto = getParams()->getMediaProto(); + + bool bundle_enabled = getParams()->rtpBundleEnabled(); + std::list<OrtpPayloadType *> l = pth.makeCodecsList( + type, 0, -1, + (((foundStreamIdx >= 0) && localIsOfferer) + ? oldMd->streams[static_cast<decltype(oldMd->streams)::size_type>(foundStreamIdx)] + .already_assigned_payloads + : emptyList), + bundle_enabled); + if (!l.empty()) { + cfg.replacePayloads(l); + newStream.name = "Thumbnail " + std::string(sal_stream_type_to_string(type)) + " " + + participantDevice->getAddress()->toString(); + const auto mediaDirection = (type == SalVideo) + ? getParams()->getPrivate()->getSalVideoDirection() + : getParams()->getPrivate()->getSalAudioDirection(); + cfg.dir = (add) ? ((isInLocalConference) ? SalStreamRecvOnly + : (((mediaDirection == SalStreamSendRecv) || + (mediaDirection == SalStreamSendOnly)) + ? SalStreamSendOnly + : SalStreamInactive)) + : SalStreamInactive; + if (type == SalVideo) { + validateVideoStreamDirection(cfg); + } + if (bundle_enabled) { + const auto bundleNamePrefix = std::string((type == SalVideo) ? "vs" : "as"); + addStreamToBundle(md, newStream, cfg, (bundleNamePrefix + deviceLabel)); + } + } else { + lInfo() << "Don't put " << std::string(sal_stream_type_to_string(type)) + << " stream for device in conference with address " << *participantDevice->getAddress() + << " on local offer for CallSession [" << q << "]"; + cfg.dir = SalStreamInactive; + } + PayloadTypeHandler::clearPayloadList(l); + newStream.addActualConfiguration(cfg); + newStream.setSupportedEncryptions(encs); + fillRtpParameters(newStream); + } + } + } + } +} + +void MediaSessionPrivate::addConferenceParticipantStreams(std::shared_ptr<SalMediaDescription> &md, + const std::shared_ptr<SalMediaDescription> &oldMd, + PayloadTypeHandler &pth, + const std::list<LinphoneMediaEncryption> &encs, + const SalStreamType type) { + L_Q(); + bool isInLocalConference = getParams()->getPrivate()->getInConference(); std::shared_ptr<MediaConference::Conference> conference = listener ? listener->getCallSessionConference(q->getSharedFromThis()) : nullptr; @@ -1775,105 +1948,104 @@ void MediaSessionPrivate::addConferenceParticipantVideostreams(std::shared_ptr<S emptyList.clear(); if (conference) { const auto ¤tConfParams = conference->getCurrentParams(); + const auto &confSecurityLevel = currentConfParams.getSecurityLevel(); bool isVideoConferenceEnabled = currentConfParams.videoEnabled(); // Add additional video streams if required - if (isVideoConferenceEnabled) { + if (((type == SalVideo) && isVideoConferenceEnabled) || (type == SalAudio)) { + const auto &confLayout = isInLocalConference ? getRemoteParams()->getConferenceVideoLayout() + : getParams()->getConferenceVideoLayout(); + + bool isConferenceLayoutActiveSpeaker = (confLayout == ConferenceLayout::ActiveSpeaker); + const auto remoteContactAddress = q->getRemoteContactAddress(); + q->updateContactAddressInOp(); + const auto &participantDeviceAddress = + (isInLocalConference) ? remoteContactAddress : q->getContactAddress(); + if (localIsOfferer && !linphone_core_conference_server_enabled(q->getCore()->getCCore())) { - const auto &confLayout = isInLocalConference ? getRemoteParams()->getConferenceVideoLayout() - : getParams()->getConferenceVideoLayout(); - - bool isConferenceLayoutActiveSpeaker = (confLayout == ConferenceLayout::ActiveSpeaker); - const auto remoteContactAddress = q->getRemoteContactAddress(); - q->updateContactAddressInOp(); - const auto participantDeviceAddress = - (isInLocalConference) ? remoteContactAddress : q->getContactAddress(); - - const auto &participantDevice = isInLocalConference - ? conference->findParticipantDevice(q->getSharedFromThis()) - : conference->getMe()->findDevice(q->getSharedFromThis()); - const auto &devLabel = participantDevice->getLabel(); - const std::string content("thumbnail"); - const auto &foundStreamIdx = oldMd->findIdxStreamWithContent(content, devLabel); - - SalStreamDescription &newStream = addStreamToMd(md, foundStreamIdx, oldMd); - newStream.setContent(content); - fillConferenceParticipantVideoStream(newStream, oldMd, md, participantDevice, pth, encs); + const std::string participantContent( + (type == SalAudio) ? "DTX" : ((isConferenceLayoutActiveSpeaker) ? "thumbnail" : "")); + const std::string HDParticipantVideoContent("only-active-speaker"); + const std::string bundleNameStreamPrefix((type == SalVideo) ? "vs" : "as"); + const std::string bundleNameHDStreamPrefix("vsHD"); for (const auto &p : conference->getParticipants()) { for (const auto &dev : p->getDevices()) { const auto &devAddress = dev->getAddress(); const auto &devState = dev->getState(); - // Do not add stream for device matching the remote contact address if the chosen layout is - // active speaker - if ((participantDeviceAddress != devAddress) && - (devState != ParticipantDevice::State::ScheduledForJoining) && - (devState != ParticipantDevice::State::Joining) && - (devState != ParticipantDevice::State::Alerting)) { - const auto &devLabel = dev->getLabel(); + const auto &mediaDir = dev->getStreamCapability(sal_stream_type_to_linphone(type)); + const auto mediaDirOk = ((mediaDir == LinphoneMediaDirectionSendRecv) || + (mediaDir == LinphoneMediaDirectionSendOnly)); + const auto stateOk = (devState != ParticipantDevice::State::ScheduledForJoining) && + (devState != ParticipantDevice::State::Joining) && + (devState != ParticipantDevice::State::Alerting); + // Add only streams of participants that have accepted to join the conference + if ((participantDeviceAddress != devAddress) && mediaDirOk && stateOk) { + const auto &devLabel = dev->getLabel(sal_stream_type_to_linphone(type)); // main stream has the same label as one of the minature streams const auto &foundStreamIdx = - devLabel.empty() ? -1 : oldMd->findIdxStreamWithLabel(devLabel); + devLabel.empty() ? -1 : oldMd->findIdxStreamWithContent(participantContent, devLabel); SalStreamDescription &newParticipantStream = addStreamToMd(md, foundStreamIdx, oldMd); - if (isConferenceLayoutActiveSpeaker) { - newParticipantStream.setContent(content); + if (isConferenceLayoutActiveSpeaker || (type == SalAudio)) { + newParticipantStream.setContent(participantContent); + } + const auto mid(bundleNameStreamPrefix + devLabel); + fillConferenceParticipantStream(newParticipantStream, oldMd, md, dev, pth, encs, type, mid); + + if (isConferenceLayoutActiveSpeaker && (type == SalVideo) && + (confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd)) { + std::vector<std::pair<std::string, std::string>> attributes; + const auto &foundHDStreamIdx = + devLabel.empty() + ? -1 + : oldMd->findIdxStreamWithContent(HDParticipantVideoContent, devLabel); + SalStreamDescription &newHDStream = addStreamToMd(md, foundHDStreamIdx, oldMd); + newHDStream.setContent(HDParticipantVideoContent); + const auto midHDStream(bundleNameHDStreamPrefix + devLabel); + fillConferenceParticipantStream(newHDStream, oldMd, md, dev, pth, encs, type, + midHDStream); } - fillConferenceParticipantVideoStream(newParticipantStream, oldMd, md, dev, pth, encs); - } - } - } - - if (conference->isIn() && isInLocalConference) { - const auto &me = conference->getMe(); - for (const auto &dev : me->getDevices()) { - const auto &devLabel = dev->getLabel(); - std::vector<std::pair<std::string, std::string>> attributes; - const auto &foundStreamIdx = devLabel.empty() - ? -1 - : ((*participantDeviceAddress == *(dev->getAddress())) - ? oldMd->findIdxStreamWithContent(content, devLabel) - : md->findIdxStreamWithLabel(devLabel)); - SalStreamDescription &newMeStream = addStreamToMd(md, foundStreamIdx, oldMd); - if (isConferenceLayoutActiveSpeaker) { - newMeStream.setContent(content); } - fillConferenceParticipantVideoStream(newMeStream, oldMd, md, dev, pth, encs); } } } else { // The conference server is a passive core, therefore he must not add any stream to the SDP + // Do not attempt to modify already existing streams const auto &refMd = (linphone_core_conference_server_enabled(q->getCore()->getCCore()) && localIsOfferer) ? oldMd : op->getRemoteMediaDescription(); - const auto noStreams = md->streams.size(); - const auto remoteNoStreams = refMd->streams.size(); - if (noStreams <= remoteNoStreams) { - auto beginIt = refMd->streams.cbegin(); - std::advance(beginIt, static_cast<decltype(beginIt)::difference_type>(noStreams)); - - for (auto sIt = beginIt; sIt != refMd->streams.end(); sIt++) { - const auto &s = *sIt; - if (s.getType() == SalVideo) { + auto beginIt = refMd->streams.cbegin(); + // By default, every participant has a main stream and a thumbnail to send its video stream to the + // conference server + const unsigned int protectedStreams = (type == SalVideo) ? 2 : 1; + unsigned int nbStream = 0; + + for (auto sIt = beginIt; sIt != refMd->streams.end(); sIt++) { + const auto &s = *sIt; + if (s.getType() == type) { + nbStream++; + if (nbStream > protectedStreams) { + const auto idx = std::distance(refMd->streams.cbegin(), sIt); const std::string contentAttrValue = s.getContent(); const std::string participantsAttrValue = s.getLabel(); std::shared_ptr<ParticipantDevice> dev = nullptr; if (!participantsAttrValue.empty()) { - dev = conference->findParticipantDeviceByLabel(participantsAttrValue); + dev = conference->findParticipantDeviceByLabel(sal_stream_type_to_linphone(type), + participantsAttrValue); if (!dev && conference->getMe()) { // It might be me dev = conference->getMe()->findDevice(participantsAttrValue, false); } } - const auto &idx = md->streams.size(); SalStreamDescription &newStream = addStreamToMd(md, static_cast<int>(idx), oldMd); if (dev) { newStream.setContent(contentAttrValue); - fillConferenceParticipantVideoStream(newStream, oldMd, md, dev, pth, encs); + fillConferenceParticipantStream(newStream, oldMd, md, dev, pth, encs, type, s.getMid()); } else { - const auto &s = refMd->streams[idx]; + const auto &s = refMd->streams[static_cast<size_t>(idx)]; SalStreamConfiguration cfg; cfg.dir = SalStreamInactive; newStream.disable(); @@ -1881,7 +2053,11 @@ void MediaSessionPrivate::addConferenceParticipantVideostreams(std::shared_ptr<S newStream.rtp_port = 0; newStream.rtcp_port = 0; newStream.addActualConfiguration(cfg); - lWarning() << *q << "New stream added as disabled and inactive."; + lWarning() << *q + << "New stream added as disabled and inactive because no device has been " + "found with label " + << participantsAttrValue << " in conference " + << *conference->getConferenceAddress(); } } } @@ -1930,21 +2106,15 @@ void MediaSessionPrivate::validateVideoStreamDirection(SalStreamConfiguration &c void MediaSessionPrivate::copyOldStreams(std::shared_ptr<SalMediaDescription> &md, const std::shared_ptr<SalMediaDescription> &oldMd, const std::shared_ptr<SalMediaDescription> &refMd, - PayloadTypeHandler &pth, const std::list<LinphoneMediaEncryption> &encs) { - L_Q(); - if (refMd) { // Declare here an empty list to give to the makeCodecsList if there is no valid already assigned payloads std::list<OrtpPayloadType *> emptyList; emptyList.clear(); - std::list<OrtpPayloadType *> l; - bool bundle_enabled = getParams()->rtpBundleEnabled(); const auto noStreams = md->streams.size(); const auto refNoStreams = refMd->streams.size(); if (noStreams <= refNoStreams) { // Copy participant video streams from previous local description - auto streamIdx = noStreams; auto beginIt = refMd->streams.cbegin(); std::advance(beginIt, static_cast<decltype(beginIt)::difference_type>(noStreams)); @@ -1952,43 +2122,18 @@ void MediaSessionPrivate::copyOldStreams(std::shared_ptr<SalMediaDescription> &m const auto &s = *sIt; const auto &idx = static_cast<int>(md->streams.size()); SalStreamDescription &newStream = addStreamToMd(md, idx, oldMd); + newStream.rtp_port = 0; + newStream.rtcp_port = 0; newStream.type = s.type; newStream.name = s.name; newStream.disable(); SalStreamConfiguration cfg; cfg.proto = s.getProto(); cfg.dir = SalStreamInactive; - - const auto &previousParticipantStream = (oldMd) - ? oldMd->getStreamIdx(static_cast<unsigned int>(streamIdx)) - : Utils::getEmptyConstRefObject<SalStreamDescription>(); - l = pth.makeCodecsList( - s.type, 0, -1, - ((previousParticipantStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) - ? previousParticipantStream.already_assigned_payloads - : emptyList), - bundle_enabled); - if (!l.empty()) { - cfg.payloads = l; - } else { - lInfo() << "Don't put " << sal_stream_type_to_string(s.type) << " stream (index " << streamIdx - << ") on local offer for CallSession [" << q << "] because no payload is found"; - PayloadTypeHandler::clearPayloadList(l); - cfg.dir = SalStreamInactive; - newStream.disable(); - } - /* FIXME: need comment to explain what is being done here. Why calling disable() twice, even when there - * are payload types ? */ - lWarning() << "Disabling stream at index " << idx << " from copyOldStreams()."; - newStream.disable(); - newStream.rtp_port = 0; - newStream.rtcp_port = 0; + lWarning() << "Disabling stream at index " << idx << " as it is no longer needed"; newStream.setSupportedEncryptions(encs); newStream.addActualConfiguration(cfg); - fillRtpParameters(newStream); - - streamIdx++; } } } @@ -2099,7 +2244,9 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, bool conferenceCreated = false; bool isConferenceLayoutActiveSpeaker = false; bool isVideoConferenceEnabled = false; + bool isAudioConferenceEnabled = false; ConferenceLayout confLayout = ConferenceLayout::ActiveSpeaker; + auto confSecurityLevel = ConferenceParams::SecurityLevel::None; auto deviceState = ParticipantDevice::State::ScheduledForJoining; std::shared_ptr<ParticipantDevice> participantDevice = nullptr; if (conference) { @@ -2116,6 +2263,8 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, confLayout = (participantDevice && isInLocalConference && getRemoteParams()) ? getRemoteParams()->getConferenceVideoLayout() : getParams()->getConferenceVideoLayout(); + isAudioConferenceEnabled = currentConfParams.audioEnabled(); + confSecurityLevel = currentConfParams.getSecurityLevel(); isConferenceLayoutActiveSpeaker = (confLayout == ConferenceLayout::ActiveSpeaker); if (isInLocalConference) { // If the conference is dialing out to participants and an internal update (i.e. ICE reINVITE or capability @@ -2131,11 +2280,21 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, } } + auto callAudioEnabled = + (!conferenceCreated && conference) ? getCurrentParams()->audioEnabled() : getParams()->audioEnabled(); + bool addAudioStream = callAudioEnabled; + // Check if there was a main stream earlier on in the SDP. + // It is necessary to check for both Grid and ActiveSpeaker layout in order to cover the case when the layout is + // changed + if (conference) { + if (isInLocalConference) { + addAudioStream &= isAudioConferenceEnabled; + } + } const SalStreamDescription &oldAudioStream = refMd ? refMd->findBestStream(SalAudio) : Utils::getEmptyConstRefObject<SalStreamDescription>(); - if ((!conference || (localIsOfferer && getParams()->audioEnabled())) || - (oldAudioStream != Utils::getEmptyConstRefObject<SalStreamDescription>())) { + if (addAudioStream || (oldAudioStream != Utils::getEmptyConstRefObject<SalStreamDescription>())) { auto audioCodecs = pth.makeCodecsList(SalAudio, getParams()->getAudioBandwidthLimit(), -1, ((oldAudioStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) ? oldAudioStream.already_assigned_payloads @@ -2144,11 +2303,12 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, const auto audioStreamIdx = (conference && refMd) ? refMd->findIdxBestStream(SalAudio) : -1; SalStreamDescription &audioStream = addStreamToMd(md, audioStreamIdx, oldMd); + SalStreamDir audioDir = SalStreamInactive; + audioDir = getParams()->getPrivate()->getSalAudioDirection(); fillLocalStreamDescription( audioStream, md, getParams()->audioEnabled(), "Audio", SalAudio, - getAudioProto(op ? op->getRemoteMediaDescription() : nullptr, offerNegotiatedMediaProtocolOnly), - getParams()->getPrivate()->getSalAudioDirection(), audioCodecs, "as", - getParams()->getPrivate()->getCustomSdpMediaAttributes(LinphoneStreamTypeAudio)); + getAudioProto(op ? op->getRemoteMediaDescription() : nullptr, offerNegotiatedMediaProtocolOnly), audioDir, + audioCodecs, "as", getParams()->getPrivate()->getCustomSdpMediaAttributes(LinphoneStreamTypeAudio)); auto &actualCfg = audioStream.cfgs[audioStream.getActualConfigurationIndex()]; @@ -2159,9 +2319,20 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, else actualCfg.ptime = linphone_core_get_download_ptime(core); PayloadTypeHandler::clearPayloadList(audioCodecs); + + if (conference) { + // The call to getRemoteContactAddress updates CallSessionPrivate member remoteContactAddress + const auto remoteContactAddress = q->getRemoteContactAddress(); + if (participantDevice && (isInLocalConference || (!isInLocalConference && remoteContactAddress && + remoteContactAddress->hasParam("isfocus")))) { + audioStream.setLabel(participantDevice->getLabel(LinphoneStreamTypeAudio)); + } + } } - const auto mainStreamAttrValue = isConferenceLayoutActiveSpeaker ? "speaker" : "main"; + const std::string activeSpeakerAttribute( + (confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd) ? "only-active-speaker" : "speaker"); + const std::string mainStreamAttrValue(isConferenceLayoutActiveSpeaker ? activeSpeakerAttribute : "main"); auto callVideoEnabled = (!conferenceCreated && conference) ? getCurrentParams()->videoEnabled() : getParams()->videoEnabled(); @@ -2173,7 +2344,8 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, const SalStreamDescription &oldGridLayoutMainVideoStream = refMd ? refMd->findStreamWithContent("main") : Utils::getEmptyConstRefObject<SalStreamDescription>(); const SalStreamDescription &oldActiveSpeakerLayoutMainVideoStream = - refMd ? refMd->findStreamWithContent("speaker") : Utils::getEmptyConstRefObject<SalStreamDescription>(); + refMd ? refMd->findStreamWithContent(activeSpeakerAttribute) + : Utils::getEmptyConstRefObject<SalStreamDescription>(); const SalStreamDescription &oldMainVideoStream = refMd ? refMd->findBestStream(SalVideo) : Utils::getEmptyConstRefObject<SalStreamDescription>(); if (conference && isInLocalConference) { @@ -2200,6 +2372,9 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, bool enableVideoStream = false; // Set direction appropriately to configuration if (conference) { + const auto videoDirInParams = getParams()->getPrivate()->getSalVideoDirection(); + const auto sendingVideo = + ((videoDirInParams == SalStreamSendRecv) || (videoDirInParams == SalStreamSendOnly)); if (isInLocalConference) { if (!isVideoConferenceEnabled) { enableVideoStream = false; @@ -2213,14 +2388,16 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, // - receiving an offer switch (confLayout) { case ConferenceLayout::ActiveSpeaker: - videoDir = SalStreamSendRecv; + videoDir = (confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd) + ? SalStreamRecvOnly + : SalStreamSendRecv; break; case ConferenceLayout::Grid: videoDir = SalStreamRecvOnly; break; } } else if (deviceState == ParticipantDevice::State::ScheduledForJoining) { - videoDir = getParams()->getPrivate()->getSalVideoDirection(); + videoDir = videoDirInParams; enableVideoStream = true; } else { videoDir = MediaSessionParamsPrivate::mediaDirectionToSalStreamDir( @@ -2231,17 +2408,26 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, enableVideoStream = callVideoEnabled; switch (confLayout) { case ConferenceLayout::ActiveSpeaker: - videoDir = getParams()->getPrivate()->getSalVideoDirection(); + videoDir = (confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd) + ? ((localIsOfferer) ? ((sendingVideo) ? SalStreamSendOnly : SalStreamInactive) + : videoDirInParams) + : videoDirInParams; break; case ConferenceLayout::Grid: - videoDir = (localIsOfferer) - ? ((getParams()->getPrivate()->getSalVideoDirection() == SalStreamSendRecv) - ? SalStreamSendOnly - : SalStreamInactive) - : getParams()->getPrivate()->getSalVideoDirection(); + videoDir = (localIsOfferer) ? ((sendingVideo) ? SalStreamSendOnly : SalStreamInactive) + : getParams()->getPrivate()->getSalVideoDirection(); break; } } + + if (videoDir == SalStreamInactive) { + lWarning() << *q << "Video may have been enable in the local media parameters but device " + << ((participantDevice) ? participantDevice->getAddress()->toString() + : std::string("<unknown>")) + << " may not be able to send video streams or an old video stream is just being copied"; + enableVideoStream = false; + } + } else { videoDir = getParams()->getPrivate()->getSalVideoDirection(); enableVideoStream = addVideoStream; @@ -2253,9 +2439,6 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, : -1; SalStreamDescription &videoStream = addStreamToMd(md, videoStreamIdx, oldMd); - if (videoDir == SalStreamInactive) { - lWarning() << *q << "Video stream added with inactive media direction."; - } fillLocalStreamDescription(videoStream, md, enableVideoStream, "Video", SalVideo, proto, videoDir, videoCodecs, "vs", getParams()->getPrivate()->getCustomSdpMediaAttributes(LinphoneStreamTypeVideo)); @@ -2263,18 +2446,18 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, if (conference) { // The call to getRemoteContactAddress updates CallSessionPrivate member remoteContactAddress const auto remoteContactAddress = q->getRemoteContactAddress(); - if (remoteContactAddress) { - if (participantDevice && - (isInLocalConference || (!isInLocalConference && remoteContactAddress->hasParam("isfocus")))) { - videoStream.setLabel(participantDevice->getLabel()); - videoStream.setContent(mainStreamAttrValue); - } + if (participantDevice && (isInLocalConference || (!isInLocalConference && remoteContactAddress && + remoteContactAddress->hasParam("isfocus")))) { + videoStream.setLabel(participantDevice->getLabel(LinphoneStreamTypeVideo)); + videoStream.setContent(mainStreamAttrValue); } } videoStream.setSupportedEncryptions(encList); PayloadTypeHandler::clearPayloadList(videoCodecs); + + addConferenceLocalParticipantStreams(addVideoStream, md, oldMd, pth, encList, SalVideo); } const SalStreamDescription &oldTextStream = @@ -2306,13 +2489,19 @@ void MediaSessionPrivate::makeLocalMediaDescription(bool localIsOfferer, #ifdef HAVE_ADVANCED_IM bool eventLogEnabled = !!linphone_config_get_bool(linphone_core_get_config(q->getCore()->getCCore()), "misc", "conference_event_log_enabled", TRUE); - if (conferenceCreated && eventLogEnabled && addVideoStream && participantDevice && + + if (conferenceCreated && eventLogEnabled && participantDevice && ((deviceState == ParticipantDevice::State::Joining) || (deviceState == ParticipantDevice::State::Present) || (deviceState == ParticipantDevice::State::OnHold))) { - addConferenceParticipantVideostreams(md, oldMd, pth, encList); + if (addAudioStream && (confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd)) { + addConferenceParticipantStreams(md, oldMd, pth, encList, SalAudio); + } + if (addVideoStream) { + addConferenceParticipantStreams(md, oldMd, pth, encList, SalVideo); + } } #endif // HAVE_ADVANCED_IM - copyOldStreams(md, oldMd, refMd, pth, encList); + copyOldStreams(md, oldMd, refMd, encList); setupEncryptionKeys(md, forceCryptoKeyGeneration, offerNegotiatedMediaProtocolOnly); setupImEncryptionEngineParameters(md); @@ -3215,21 +3404,27 @@ LinphoneStatus MediaSessionPrivate::startUpdate(const CallSession::UpdateMethod } void MediaSessionPrivate::terminate() { + L_Q(); + if (q->isRecording()) { + lInfo() << "Media session is being terminated, stop recording"; + q->stopRecording(); + } stopStreams(); localIsTerminator = true; CallSessionPrivate::terminate(); } -LinphoneMediaDirection MediaSessionPrivate::getVideoDirFromMd(const std::shared_ptr<SalMediaDescription> &md) const { +LinphoneMediaDirection MediaSessionPrivate::getDirFromMd(const std::shared_ptr<SalMediaDescription> &md, + const SalStreamType type) const { L_Q(); std::shared_ptr<MediaConference::Conference> conference = nullptr; if (listener) { conference = listener->getCallSessionConference(const_pointer_cast<CallSession>(q->getSharedFromThis())); } if (conference) { - const auto hasVideoSendRecvStream = (md->containsStreamWithDir(SalStreamSendRecv, SalVideo)); - const auto hasVideoSendOnlyStream = (md->containsStreamWithDir(SalStreamSendOnly, SalVideo)); - const auto hasVideoRecvOnlyStream = (md->containsStreamWithDir(SalStreamRecvOnly, SalVideo)); + const auto hasVideoSendRecvStream = (md->containsStreamWithDir(SalStreamSendRecv, type)); + const auto hasVideoSendOnlyStream = (md->containsStreamWithDir(SalStreamSendOnly, type)); + const auto hasVideoRecvOnlyStream = (md->containsStreamWithDir(SalStreamRecvOnly, type)); if (hasVideoSendRecvStream || (hasVideoSendOnlyStream && hasVideoRecvOnlyStream)) { return LinphoneMediaDirectionSendRecv; } else if (hasVideoSendOnlyStream && !hasVideoRecvOnlyStream) { @@ -3240,7 +3435,7 @@ LinphoneMediaDirection MediaSessionPrivate::getVideoDirFromMd(const std::shared_ return LinphoneMediaDirectionInactive; } } - const auto &videoStream = md->findBestStream(SalVideo); + const auto &videoStream = md->findBestStream(type); return MediaSessionParamsPrivate::salStreamDirToMediaDirection(videoStream.getDirection()); } @@ -3261,7 +3456,13 @@ int MediaSessionPrivate::getMainVideoStreamIdx(const std::shared_ptr<SalMediaDes const auto &confLayout = MediaSession::computeConferenceLayout( isInLocalConference ? op->getRemoteMediaDescription() : op->getLocalMediaDescription()); const auto isConferenceLayoutActiveSpeaker = (confLayout == ConferenceLayout::ActiveSpeaker); - const auto mainStreamAttrValue = isConferenceLayoutActiveSpeaker ? "speaker" : "main"; + const auto ¤tConfParams = conference->getCurrentParams(); + const auto &confSecurityLevel = currentConfParams.getSecurityLevel(); + const auto mainStreamAttrValue = + isConferenceLayoutActiveSpeaker + ? ((confSecurityLevel == ConferenceParams::SecurityLevel::EndToEnd) ? "only-active-speaker" + : "speaker") + : "main"; streamIdx = md->findIdxStreamWithContent(mainStreamAttrValue); } else { streamIdx = md->findIdxBestStream(SalVideo); @@ -3292,7 +3493,7 @@ int MediaSessionPrivate::getThumbnailStreamIdx(const std::shared_ptr<SalMediaDes // Devices don't have labels if conference event package is not enabled const auto label = (!conferenceEventPackageEnabled || isInLocalConference || (meDevices.size() == 0)) ? mainVideoStream.getLabel() - : meDevices.front()->getLabel(); + : meDevices.front()->getLabel(LinphoneStreamTypeVideo); if (!label.empty()) { if (md) { const auto content = "thumbnail"; @@ -3438,7 +3639,8 @@ void MediaSessionPrivate::updateCurrentParams() const { } const SalStreamDescription &audioStream = md->findBestStream(SalAudio); if (audioStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) { - getCurrentParams()->setAudioDirection(audioStream.getDirection()); + const auto audioDir = getDirFromMd(md, SalAudio); + getCurrentParams()->setAudioDirection(audioDir); if (getCurrentParams()->getAudioDirection() != LinphoneMediaDirectionInactive) { const std::string &rtpAddr = (audioStream.getRtpAddress().empty() == false) ? audioStream.getRtpAddress() : md->addr; @@ -3457,7 +3659,7 @@ void MediaSessionPrivate::updateCurrentParams() const { if (videoStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) { getCurrentParams()->getPrivate()->enableImplicitRtcpFb(videoStream.hasImplicitAvpf()); - const auto videoDirection = getVideoDirFromMd(md); + const auto videoDirection = getDirFromMd(md, SalVideo); getCurrentParams()->setVideoDirection(videoDirection); if (getCurrentParams()->getVideoDirection() != LinphoneMediaDirectionInactive) { @@ -3472,7 +3674,6 @@ void MediaSessionPrivate::updateCurrentParams() const { : nullptr; const auto enable = (conference) ? (videoDirection != LinphoneMediaDirectionInactive) : videoStream.enabled(); - getCurrentParams()->enableVideo(enable); } else { getCurrentParams()->getPrivate()->enableImplicitRtcpFb(false); @@ -3820,7 +4021,8 @@ ConferenceLayout MediaSession::computeConferenceLayout(const std::shared_ptr<Sal if (md) { if (md->findIdxStreamWithContent("main") != -1) { layout = ConferenceLayout::Grid; - } else if (md->findIdxStreamWithContent("speaker") != -1) { + } else if ((md->findIdxStreamWithContent("only-active-speaker") != -1) || + (md->findIdxStreamWithContent("speaker") != -1)) { layout = ConferenceLayout::ActiveSpeaker; } else { lDebug() << "Unable to deduce layout from media description " << md; @@ -4885,8 +5087,9 @@ const MediaSessionParams *MediaSession::getRemoteParams() { const SalStreamDescription &audioStream = md->findBestStream(SalAudio); if (audioStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) { + const auto audioDir = d->getDirFromMd(md, SalAudio); params->enableAudio(audioStream.enabled()); - params->setAudioDirection(audioStream.getDirection()); + params->setAudioDirection(audioDir); params->setMediaEncryption(audioStream.hasSrtp() ? LinphoneMediaEncryptionSRTP : LinphoneMediaEncryptionNone); params->getPrivate()->setCustomSdpMediaAttributes(LinphoneStreamTypeAudio, @@ -4897,7 +5100,7 @@ const MediaSessionParams *MediaSession::getRemoteParams() { const auto &videoStream = (streamIdx == -1) ? md->findBestStream(SalVideo) : md->getStreamIdx(static_cast<unsigned int>(streamIdx)); if (videoStream != Utils::getEmptyConstRefObject<SalStreamDescription>()) { - const auto videoDir = d->getVideoDirFromMd(md); + const auto videoDir = d->getDirFromMd(md, SalVideo); params->enableVideo(videoStream.enabled() || (videoDir != LinphoneMediaDirectionInactive)); params->setVideoDirection(videoDir); params->setMediaEncryption(videoStream.hasSrtp() ? LinphoneMediaEncryptionSRTP @@ -5161,20 +5364,21 @@ void MediaSession::onGoClearAckSent() { if (d->listener) d->listener->onGoClearAckSent(); } -std::shared_ptr<ParticipantDevice> MediaSession::getParticipantDevice(const std::string &label) { +std::shared_ptr<ParticipantDevice> MediaSession::getParticipantDevice(const LinphoneStreamType type, + const std::string &label) { L_D(); if (d->listener) { std::shared_ptr<MediaConference::Conference> conference = d->listener->getCallSessionConference(getSharedFromThis()); if (conference) { - return conference->findParticipantDeviceByLabel(label); + return conference->findParticipantDeviceByLabel(type, label); } } return nullptr; } void *MediaSession::getParticipantWindowId(const std::string &label) { - auto participantDevice = getParticipantDevice(label); + auto participantDevice = getParticipantDevice(LinphoneStreamTypeVideo, label); if (participantDevice) return participantDevice->getWindowId(); else return nullptr; } diff --git a/src/conference/session/media-session.h b/src/conference/session/media-session.h index 44746539ff..6f4d80aef4 100644 --- a/src/conference/session/media-session.h +++ b/src/conference/session/media-session.h @@ -150,7 +150,7 @@ public: std::shared_ptr<AudioDevice> getInputAudioDevice() const; std::shared_ptr<AudioDevice> getOutputAudioDevice() const; - std::shared_ptr<ParticipantDevice> getParticipantDevice(const std::string &label); + std::shared_ptr<ParticipantDevice> getParticipantDevice(const LinphoneStreamType type, const std::string &label); void *getParticipantWindowId(const std::string &label); StreamsGroup &getStreamsGroup() const; diff --git a/src/conference/session/mixer-session.cpp b/src/conference/session/mixer-session.cpp index 14a4d72d28..4b0d3d9ea7 100644 --- a/src/conference/session/mixer-session.cpp +++ b/src/conference/session/mixer-session.cpp @@ -72,6 +72,14 @@ StreamMixer *MixerSession::getMixerByType(SalStreamType type) { return nullptr; } +void MixerSession::setSecurityLevel(const ConferenceParams::SecurityLevel &level) { + mSecurityLevel = level; +}; + +const ConferenceParams::SecurityLevel &MixerSession::getSecurityLevel() const { + return mSecurityLevel; +}; + Core &MixerSession::getCore() const { return mCore; } diff --git a/src/conference/session/mixers.h b/src/conference/session/mixers.h index c1bccf9b40..2b4754008e 100644 --- a/src/conference/session/mixers.h +++ b/src/conference/session/mixers.h @@ -21,12 +21,13 @@ #ifndef mixing_h #define mixing_h -#include "ms2-streams.h" -#include "streams.h" +#include <map> #include "mediastreamer2/msconference.h" -#include <map> +#include "conference/conference-params.h" +#include "ms2-streams.h" +#include "streams.h" LINPHONE_BEGIN_NAMESPACE @@ -78,6 +79,14 @@ public: void setFocus(StreamsGroup *sg); Core &getCore() const; LinphoneCore *getCCore() const; + /** + * Set security level of mixer session + */ + void setSecurityLevel(const ConferenceParams::SecurityLevel &level); + /** + * Get security level of mixer session + */ + const ConferenceParams::SecurityLevel &getSecurityLevel() const; protected: virtual void onActiveTalkerChanged(StreamsGroup *sg) override; @@ -85,6 +94,7 @@ protected: private: Core &mCore; std::map<SalStreamType, std::unique_ptr<StreamMixer>> mMixers; + ConferenceParams::SecurityLevel mSecurityLevel = ConferenceParams::SecurityLevel::None; }; inline std::ostream &operator<<(std::ostream &str, const MixerSession &session) { @@ -118,6 +128,21 @@ public: virtual std::string getLocalLabel() const { return mLocalLabel; }; + static MSStreamSecurityLevel securityLevelToMsSecurityLevel(const ConferenceParams::SecurityLevel &level) { + MSStreamSecurityLevel ms2_level = MSStreamSecurityLevelNone; + switch (level) { + case ConferenceParams::SecurityLevel::None: + ms2_level = MSStreamSecurityLevelNone; + break; + case ConferenceParams::SecurityLevel::PointToPoint: + ms2_level = MSStreamSecurityLevelPointToPoint; + break; + case ConferenceParams::SecurityLevel::EndToEnd: + ms2_level = MSStreamSecurityLevelEndToEnd; + break; + } + return ms2_level; + } protected: MixerSession &mSession; diff --git a/src/conference/session/ms2-stream.cpp b/src/conference/session/ms2-stream.cpp index 6c4fd3aacf..ba5277b71f 100644 --- a/src/conference/session/ms2-stream.cpp +++ b/src/conference/session/ms2-stream.cpp @@ -654,6 +654,11 @@ bool MS2Stream::handleBasicChanges(const OfferAnswerContext ¶ms, BCTBX_UNUSE /* TODO */ // changesToHandle &= ~SAL_MEDIA_DESCRIPTION_FRAME_MARKING_EXTENSION_CHANGED; } + if (params.resultStreamDescriptionChanges & SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED) { + stop(); + changesToHandle &= ~SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED; + return false; + } if (changesToHandle == 0) { // We've handled everything. diff --git a/src/conference/session/streams-group.cpp b/src/conference/session/streams-group.cpp index e3d6fa4356..43ed6d27ff 100644 --- a/src/conference/session/streams-group.cpp +++ b/src/conference/session/streams-group.cpp @@ -123,10 +123,19 @@ void StreamsGroup::createStreams(const OfferAnswerContext ¶ms) { if (index >= mStreams.size() || ((s = mStreams[index].get()) == nullptr)) { s = createStream(params); } else if (s) { - if (s->getType() != params.getLocalStreamDescription().type) { - lError() << "Inconsistency detected while creating streams. Type has changed from " - << sal_stream_type_to_string(s->getType()) << " to " - << sal_stream_type_to_string(params.getLocalStreamDescription().type) << "!"; + if (s->getType() != params.getLocalStreamDescription().getType()) { + if (params.getLocalStreamDescription().getRtpPort() == 0) { + lInfo() << "Restarting stream at index " << index << " because its type has changed from " + << sal_stream_type_to_string(s->getType()) << " to " + << sal_stream_type_to_string(params.getLocalStreamDescription().type) << "!"; + s->stop(); + s = createStream(params); + } else { + lInfo() << "Invalid attempt to change type of stream at index " << index << " from " + << sal_stream_type_to_string(s->getType()) << " to " + << sal_stream_type_to_string(params.getLocalStreamDescription().type) + << " because the RTP port wasn't 0 but " << params.getLocalStreamDescription().getRtpPort(); + } } else if (params.localStreamDescriptionChanges & SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED) { /* * Special case: due to implementation constraint, it is necessary to instanciate a new Stream when diff --git a/src/conference/session/tone-manager.cpp b/src/conference/session/tone-manager.cpp index fb64cbf843..d380861fd9 100644 --- a/src/conference/session/tone-manager.cpp +++ b/src/conference/session/tone-manager.cpp @@ -427,17 +427,17 @@ MSDtmfGenCustomTone ToneManager::generateToneFromId(LinphoneToneID toneId) { def.interval = 2000; break; case LinphoneToneBusy: - def.duration=500; - def.frequencies[0]=440; - def.interval=500; - def.repeat_count=3; - break; + def.duration = 500; + def.frequencies[0] = 440; + def.interval = 500; + def.repeat_count = 3; + break; case LinphoneToneCallNotAnswered: - def.duration=250; - def.frequencies[0]=440; - def.interval=250; - def.repeat_count=3; - break; + def.duration = 250; + def.frequencies[0] = 440; + def.interval = 250; + def.repeat_count = 3; + break; case LinphoneToneCallLost: def.duration = 250; // def.frequencies[0]=480; // Second frequency that is hide diff --git a/src/conference/session/video-mixer.cpp b/src/conference/session/video-mixer.cpp index b8de90a7a4..62f0673432 100644 --- a/src/conference/session/video-mixer.cpp +++ b/src/conference/session/video-mixer.cpp @@ -34,6 +34,7 @@ MS2VideoMixer::MS2VideoMixer(MixerSession &session) : StreamMixer(session), MS2V MSVideoConferenceParams paramsAlltoAll = {0}; paramsAlltoAll.codec_mime_type = "VP8"; paramsAlltoAll.min_switch_interval = 3000; + paramsAlltoAll.security_level = StreamMixer::securityLevelToMsSecurityLevel(session.getSecurityLevel()); mConferenceMix = ms_video_conference_new(mSession.getCCore()->factory, ¶msAlltoAll); mConferenceThumbnail = ms_video_conference_new(mSession.getCCore()->factory, ¶msAlltoAll); } diff --git a/src/conference/session/video-stream.cpp b/src/conference/session/video-stream.cpp index 02f08dee8f..500954b96f 100644 --- a/src/conference/session/video-stream.cpp +++ b/src/conference/session/video-stream.cpp @@ -152,7 +152,7 @@ void MS2VideoStream::sVideoStreamDisplayCb(void *userData, const unsigned int ev void MS2VideoStream::videoStreamDisplayCb(const unsigned int eventId, const void *args) { CallSessionListener *callListener = getMediaSessionPrivate().getCallSessionListener(); - auto participantDevice = getMediaSession().getParticipantDevice(getLabel()); + auto participantDevice = getMediaSession().getParticipantDevice(LinphoneStreamTypeVideo, getLabel()); switch (eventId) { case MS_VIDEO_DISPLAY_ERROR_OCCURRED: diff --git a/src/core/core.cpp b/src/core/core.cpp index 2552cace21..90bf34f365 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -1564,11 +1564,13 @@ const ConferenceId Core::prepareConfereceIdForSearch(const ConferenceId &confere const auto &rawPeerAddress = conferenceId.getPeerAddress(); if (rawPeerAddress) { peerAddress = Address::create(rawPeerAddress->getUriWithoutGruu()); + peerAddress->removeUriParam("conference-security-mode"); } std::shared_ptr<Address> localAddress = nullptr; const auto &rawLocalAddress = conferenceId.getLocalAddress(); if (rawLocalAddress) { localAddress = Address::create(rawLocalAddress->getUriWithoutGruu()); + localAddress->removeUriParam("conference-security-mode"); } ConferenceId prunedConferenceId = ConferenceId(peerAddress, localAddress); return prunedConferenceId; @@ -1576,10 +1578,9 @@ const ConferenceId Core::prepareConfereceIdForSearch(const ConferenceId &confere std::shared_ptr<MediaConference::Conference> Core::findAudioVideoConference(const ConferenceId &conferenceId, bool logIfNotFound) const { - ConferenceId prunedConferenceId = prepareConfereceIdForSearch(conferenceId); - auto it = audioVideoConferenceById.find(prunedConferenceId); + if (it != audioVideoConferenceById.cend()) { lInfo() << "Found audio video conference in RAM with conference ID " << conferenceId << "."; return it->second; @@ -1718,6 +1719,8 @@ shared_ptr<CallSession> Core::createOrUpdateConferenceOnServer(const std::shared return nullptr; } conferenceFactoryUri = Address::toCpp(factoryUri)->getSharedFromThis(); + conferenceFactoryUri->setUriParam("conference-security-mode", + ConferenceParams::getSecurityLevelAttribute(confParams->getSecurityLevel())); } ConferenceId conferenceId = ConferenceId(nullptr, localAddr); diff --git a/src/core/core.h b/src/core/core.h index 9994f2d9fc..01f560ed76 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -48,6 +48,7 @@ class LocalConferenceTester; LINPHONE_BEGIN_NAMESPACE class AbstractChatRoom; +class Account; class Address; class AudioDevice; class Call; diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index b415a74b70..b20d54a1fa 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -71,7 +71,7 @@ LINPHONE_BEGIN_NAMESPACE #ifdef HAVE_DB_STORAGE namespace { -constexpr unsigned int ModuleVersionEvents = makeVersion(1, 0, 21); +constexpr unsigned int ModuleVersionEvents = makeVersion(1, 0, 22); constexpr unsigned int ModuleVersionFriends = makeVersion(1, 0, 0); constexpr unsigned int ModuleVersionLegacyFriendsImport = makeVersion(1, 0, 0); constexpr unsigned int ModuleVersionLegacyHistoryImport = makeVersion(1, 0, 0); @@ -591,6 +591,7 @@ long long MainDbPrivate::insertConferenceInfo(const std::shared_ptr<ConferenceIn const unsigned int state = static_cast<unsigned int>(conferenceInfo->getState()); const unsigned int &sequence = conferenceInfo->getIcsSequence(); const string &uid = conferenceInfo->getIcsUid(); + const unsigned int security_level = static_cast<unsigned int>(conferenceInfo->getSecurityLevel()); long long conferenceInfoId = selectConferenceInfoId(uriSipAddressid); ConferenceInfo::participant_list_t dbParticipantList; @@ -609,24 +610,25 @@ long long MainDbPrivate::insertConferenceInfo(const std::shared_ptr<ConferenceIn " description = :description," " state = :state," " ics_sequence = :sequence," - " ics_uid = :uid" + " ics_uid = :uid," + " security_level = :security_level" " WHERE id = :conferenceInfoId", soci::use(organizerSipAddressId), soci::use(startTime.first, startTime.second), soci::use(duration), - soci::use(subject), soci::use(description), soci::use(state), soci::use(sequence), soci::use(uid), + soci::use(subject), soci::use(description), soci::use(state), soci::use(sequence), soci::use(uid), soci::use(security_level), soci::use(conferenceInfoId); } else { lInfo() << "Insert new conference info in database."; *dbSession.getBackendSession() << "INSERT INTO conference_info (" " organizer_sip_address_id, uri_sip_address_id, start_time, duration, " - "subject, description, state, ics_sequence, ics_uid" + "subject, description, state, ics_sequence, ics_uid, security_level" ") VALUES (" " :organizerSipAddressId, :uriSipAddressid, :startTime, :duration, " - ":subject, :description, :state, :sequence, :uid" + ":subject, :description, :state, :sequence, :uid, :security_level" ")", soci::use(organizerSipAddressId), soci::use(uriSipAddressid), soci::use(startTime.first, startTime.second), soci::use(duration), soci::use(subject), soci::use(description), soci::use(state), soci::use(sequence), - soci::use(uid); + soci::use(uid), soci::use(security_level); conferenceInfoId = dbSession.getLastInsertId(); } @@ -1114,9 +1116,6 @@ shared_ptr<EventLog> MainDbPrivate::selectConferenceCallEvent(const soci::row &r if (conferenceInfo == nullptr) { conferenceInfo = ConferenceInfo::create(); - std::shared_ptr<Address> organizer = Address::create(row.get<string>(16)); - conferenceInfo->setOrganizer(organizer); - std::shared_ptr<Address> uri = Address::create(row.get<string>(17)); conferenceInfo->setUri(uri); @@ -1125,20 +1124,51 @@ shared_ptr<EventLog> MainDbPrivate::selectConferenceCallEvent(const soci::row &r conferenceInfo->setUtf8Subject(row.get<string>(20)); conferenceInfo->setUtf8Description(row.get<string>(21)); - static const string query = "SELECT sip_address.value" - " FROM sip_address, conference_info, conference_info_participant" - " WHERE conference_info.id = :conferenceInfoId" - " AND sip_address.id = conference_info_participant.participant_sip_address_id" - " AND conference_info_participant.conference_info_id = conference_info.id"; + unsigned int icsSequence = dbSession.getUnsignedInt(row, 22, 0); + conferenceInfo->setIcsSequence(icsSequence); + conferenceInfo->setIcsUid(row.get<string>(23)); + conferenceInfo->setSecurityLevel( + static_cast<ConferenceParams::SecurityLevel>(dbSession.getUnsignedInt(row, 24, 0))); + + static const string participantsQuery = + "SELECT sip_address.value" + " FROM sip_address, conference_info, conference_info_participant" + " WHERE conference_info.id = :conferenceInfoId" + " AND sip_address.id = conference_info_participant.participant_sip_address_id" + " AND conference_info_participant.conference_info_id = conference_info.id"; soci::session *session = dbSession.getBackendSession(); - soci::rowset<soci::row> participantRows = (session->prepare << query, soci::use(conferenceInfoId)); + soci::rowset<soci::row> participantRows = + (session->prepare << participantsQuery, soci::use(conferenceInfoId)); for (const auto &participantRow : participantRows) { std::shared_ptr<Address> participant = Address::create(participantRow.get<string>(0)); ConferenceInfo::participant_params_t participantParams; conferenceInfo->addParticipant(participant, participantParams); } + // For backward compability purposes, get the organizer from conference_info table and set the sequence + // number to that of the conference info stored in the db It may be overridden if the conference organizer + // has been stored in table conference_info_organizer. + std::shared_ptr<Address> organizer = Address::create(row.get<string>(16)); + ConferenceInfo::participant_params_t defaultOrganizerParams; + defaultOrganizerParams.insert(std::make_pair(ConferenceInfo::sequenceParam, std::to_string(icsSequence))); + conferenceInfo->setOrganizer(organizer, defaultOrganizerParams); + static const string organizerQuery = + "SELECT sip_address.value, conference_info_organizer.params" + " FROM sip_address, conference_info, conference_info_organizer" + " WHERE conference_info.id = :conferenceInfoId" + " AND sip_address.id = conference_info_organizer.organizer_sip_address_id" + " AND conference_info_organizer.conference_info_id = conference_info.id"; + + soci::rowset<soci::row> organizerRows = (session->prepare << organizerQuery, soci::use(conferenceInfoId)); + for (const auto &organizerRow : organizerRows) { + std::shared_ptr<Address> organizerAddress = Address::create(organizerRow.get<string>(0)); + const string organizerParamsStr = organizerRow.get<string>(1); + ConferenceInfo::participant_params_t organizerParams = + ConferenceInfo::stringToMemberParameters(organizerParamsStr); + conferenceInfo->setOrganizer(organizerAddress, organizerParams); + } + cache(conferenceInfo, conferenceInfoId); } } @@ -1252,7 +1282,6 @@ shared_ptr<EventLog> MainDbPrivate::selectConferenceEphemeralMessageEvent(const shared_ptr<EventLog> MainDbPrivate::selectConferenceAvailableMediaEvent(const ConferenceId &conferenceId, BCTBX_UNUSED(EventLog::Type type), const soci::row &row) const { - std::map<ConferenceMediaCapabilities, bool> mediaCapabilities; // TODO: choose rows mediaCapabilities[ConferenceMediaCapabilities::Audio] = false; @@ -1872,7 +1901,9 @@ shared_ptr<ConferenceInfo> MainDbPrivate::selectConferenceInfo(const soci::row & const long long &dbConferenceInfoId = dbSession.resolveId(row, 0); auto conferenceInfo = getConferenceInfoFromCache(dbConferenceInfoId); - if (conferenceInfo) return conferenceInfo; + if (conferenceInfo) { + return conferenceInfo; + } conferenceInfo = ConferenceInfo::create(); std::shared_ptr<Address> uri = Address::create(row.get<string>(2)); @@ -1887,14 +1918,9 @@ shared_ptr<ConferenceInfo> MainDbPrivate::selectConferenceInfo(const soci::row & unsigned int icsSequence = dbSession.getUnsignedInt(row, 8, 0); conferenceInfo->setIcsSequence(icsSequence); - // For backward compability purposes, get the organizer from conference_info table and set the sequence number to - // that of the conference info stored in the db It may be overridden if the conference organizer has been stored in - // table conference_info_organizer. - std::shared_ptr<Address> organizer = Address::create(row.get<string>(1)); - ConferenceInfo::participant_params_t defaultOrganizerParams; - defaultOrganizerParams.insert(std::make_pair(ConferenceInfo::sequenceParam, std::to_string(icsSequence))); - conferenceInfo->setOrganizer(organizer, defaultOrganizerParams); conferenceInfo->setIcsUid(row.get<string>(9)); + conferenceInfo->setSecurityLevel( + static_cast<ConferenceParams::SecurityLevel>(dbSession.getUnsignedInt(row, 10, 0))); static const string participantQuery = "SELECT sip_address.value, conference_info_participant.deleted, conference_info_participant.params" @@ -1916,6 +1942,14 @@ shared_ptr<ConferenceInfo> MainDbPrivate::selectConferenceInfo(const soci::row & } } + // For backward compability purposes, get the organizer from conference_info table and set the sequence number to + // that of the conference info stored in the db It may be overridden if the conference organizer has been stored in + // table conference_info_organizer. + std::shared_ptr<Address> organizer = Address::create(row.get<string>(1)); + ConferenceInfo::participant_params_t defaultOrganizerParams; + defaultOrganizerParams.insert(std::make_pair(ConferenceInfo::sequenceParam, std::to_string(icsSequence))); + conferenceInfo->setOrganizer(organizer, defaultOrganizerParams); + static const string organizerQuery = "SELECT sip_address.value, conference_info_organizer.params" " FROM sip_address, conference_info, conference_info_organizer" " WHERE conference_info.id = :conferenceInfoId" @@ -2347,6 +2381,10 @@ void MainDbPrivate::updateSchema() { " NOT NULL DEFAULT " + dbSession.currentTimestamp(); } + if (version < makeVersion(1, 0, 22)) { + *session << "ALTER TABLE conference_info ADD COLUMN security_level INT UNSIGNED DEFAULT 0"; + } + // /!\ Warning : if varchar columns < 255 were to be indexed, their size must be set back to 191 = max indexable // (KEY or UNIQUE) varchar size for mysql < 5.7 with charset utf8mb4 (both here and in column creation) @@ -5129,7 +5167,7 @@ void MainDb::deleteChatRoomParticipantDevice(const shared_ptr<AbstractChatRoom> std::list<std::shared_ptr<ConferenceInfo>> MainDb::getConferenceInfos(time_t afterThisTime) const { #ifdef HAVE_DB_STORAGE string query = "SELECT conference_info.id, organizer_sip_address.value, uri_sip_address.value," - " start_time, duration, subject, description, state, ics_sequence, ics_uid" + " start_time, duration, subject, description, state, ics_sequence, ics_uid, security_level" " FROM conference_info, sip_address AS organizer_sip_address, sip_address AS uri_sip_address" " WHERE conference_info.organizer_sip_address_id = organizer_sip_address.id AND " "conference_info.uri_sip_address_id = uri_sip_address.id"; @@ -5176,7 +5214,7 @@ std::shared_ptr<ConferenceInfo> MainDb::getConferenceInfo(long long conferenceIn #ifdef HAVE_DB_STORAGE static const string query = "SELECT conference_info.id, organizer_sip_address.value, uri_sip_address.value," - " start_time, duration, subject, description, state, ics_sequence, ics_uid" + " start_time, duration, subject, description, state, ics_sequence, ics_uid, security_level" " FROM conference_info, sip_address AS organizer_sip_address, sip_address AS uri_sip_address" " WHERE conference_info.organizer_sip_address_id = organizer_sip_address.id AND " "conference_info.uri_sip_address_id = uri_sip_address.id" @@ -5207,7 +5245,7 @@ std::shared_ptr<ConferenceInfo> MainDb::getConferenceInfoFromURI(const std::shar #ifdef HAVE_DB_STORAGE if (isInitialized() && uri) { string query = "SELECT conference_info.id, organizer_sip_address.value, uri_sip_address.value," - " start_time, duration, subject, description, state, ics_sequence, ics_uid" + " start_time, duration, subject, description, state, ics_sequence, ics_uid, security_level" " FROM conference_info, sip_address AS organizer_sip_address, sip_address AS uri_sip_address" " WHERE conference_info.organizer_sip_address_id = organizer_sip_address.id AND " "conference_info.uri_sip_address_id = uri_sip_address.id" diff --git a/src/event/event-publish.cpp b/src/event/event-publish.cpp index 6c3cab62b5..efe8282e81 100644 --- a/src/event/event-publish.cpp +++ b/src/event/event-publish.cpp @@ -20,6 +20,7 @@ #include "event-publish.h" +#include "account/account.h" #include "core/core.h" #include "core_private.h" diff --git a/src/event/event-publish.h b/src/event/event-publish.h index 957f18fe64..eb8b57760a 100644 --- a/src/event/event-publish.h +++ b/src/event/event-publish.h @@ -27,6 +27,8 @@ LINPHONE_BEGIN_NAMESPACE +class Account; + class LINPHONE_PUBLIC EventPublish : public Event { public: EventPublish(const std::shared_ptr<Core> &core); diff --git a/src/sal/sal_media_description.cpp b/src/sal/sal_media_description.cpp index 7df28b79cd..a1e0138338 100644 --- a/src/sal/sal_media_description.cpp +++ b/src/sal/sal_media_description.cpp @@ -161,24 +161,29 @@ SalMediaDescription::SalMediaDescription(belle_sdp_session_description_t *sdp) /* Get ICE remote ufrag and remote pwd, and ice_lite flag */ value = belle_sdp_session_description_get_attribute_value(sdp, "ice-ufrag"); - if (value) ice_ufrag = L_C_TO_STRING(value); + if (value) + ice_ufrag = L_C_TO_STRING(value); value = belle_sdp_session_description_get_attribute_value(sdp, "ice-pwd"); - if (value) ice_pwd = L_C_TO_STRING(value); + if (value) + ice_pwd = L_C_TO_STRING(value); value = belle_sdp_session_description_get_attribute_value(sdp, "ice-lite"); - if (value) ice_lite = true; + if (value) + ice_lite = true; /* Get session RTCP-XR attributes if any */ sdp_parse_session_rtcp_xr_parameters(sdp, &rtcp_xr); /* Do we have Lime Ik attribute */ value = belle_sdp_session_description_get_attribute_value(sdp, "Ik"); - if (value) haveLimeIk = true; + if (value) + haveLimeIk = true; /* get ready to parse also lime-Ik */ value = belle_sdp_session_description_get_attribute_value(sdp, "lime-Ik"); - if (value) haveLimeIk = true; + if (value) + haveLimeIk = true; value = belle_sdp_session_description_get_attribute_value(sdp, "record"); if (value) { @@ -254,7 +259,8 @@ bool SalMediaDescription::hasDir(const SalStreamDir &stream_dir) const { if (containsStreamWithDir(SalStreamSendOnly) || containsStreamWithDir(SalStreamSendRecv) || containsStreamWithDir(SalStreamRecvOnly)) return false; - else return true; + else + return true; } return false; } @@ -266,7 +272,8 @@ const SalMediaDescriptionParams &SalMediaDescription::getParams() const { bool SalMediaDescription::containsStreamWithDir(const SalStreamDir &stream_dir, const SalStreamType &type) const { /* we are looking for at least one stream with requested direction, inactive streams are ignored*/ for (auto &stream : streams) { - if (!stream.enabled()) continue; + if (!stream.enabled()) + continue; if ((stream.getType() == type) && (stream.getDirection() == stream_dir)) { return true; } @@ -282,7 +289,8 @@ bool SalMediaDescription::containsStreamWithDir(const SalStreamDir &stream_dir, bool SalMediaDescription::containsStreamWithDir(const SalStreamDir &stream_dir) const { /* we are looking for at least one stream with requested direction, inactive streams are ignored*/ for (auto &stream : streams) { - if (!stream.enabled()) continue; + if (!stream.enabled()) + continue; if (stream.getDirection() == stream_dir) { return true; } @@ -344,7 +352,8 @@ std::list<int> SalMediaDescription::getTransportOwnerIndexes() const { int SalMediaDescription::getIndexOfTransportOwner(const SalStreamDescription &sd) const { std::string master_mid; int index; - if (sd.getChosenConfiguration().getMid().empty() == true) return -1; /* not part of any bundle */ + if (sd.getChosenConfiguration().getMid().empty() == true) + return -1; /* not part of any bundle */ /* lookup the mid in the bundle descriptions */ const auto &bundle = getBundleFromMid(sd.getChosenConfiguration().getMid()); if (bundle == Utils::getEmptyConstRefObject<SalStreamBundle>()) { @@ -390,23 +399,24 @@ int SalMediaDescription::findIdxStream(SalMediaProto proto, SalStreamType type) } std::vector<SalStreamDescription>::const_iterator -SalMediaDescription::findStreamItWithLabel(const std::string label) const { - const auto &streamIt = std::find_if(streams.cbegin(), streams.cend(), [&label](const auto &stream) { - return (stream.getLabel().compare(label) == 0); +SalMediaDescription::findStreamItWithLabel(SalStreamType type, const std::string label) const { + const auto &streamIt = std::find_if(streams.cbegin(), streams.cend(), [&type, &label](const auto &stream) { + return ((stream.getLabel().compare(label) == 0) && (stream.getType() == type)); }); return streamIt; } -const SalStreamDescription &SalMediaDescription::findStreamWithLabel(const std::string label) const { - const auto &streamIt = findStreamItWithLabel(label); +const SalStreamDescription &SalMediaDescription::findStreamWithLabel(SalStreamType type, + const std::string label) const { + const auto &streamIt = findStreamItWithLabel(type, label); if (streamIt != streams.end()) { return *streamIt; } return Utils::getEmptyConstRefObject<SalStreamDescription>(); } -int SalMediaDescription::findIdxStreamWithLabel(const std::string label) const { - const auto &streamIt = findStreamItWithLabel(label); +int SalMediaDescription::findIdxStreamWithLabel(SalStreamType type, const std::string label) const { + const auto &streamIt = findStreamItWithLabel(type, label); if (streamIt != streams.end()) { return static_cast<int>(std::distance(streams.begin(), streamIt)); } @@ -466,7 +476,8 @@ int SalMediaDescription::findIdxStreamWithContent(const std::string content, con std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findStreamItWithContent(const std::string content, const std::string label) const { const auto &streamIt = std::find_if(streams.cbegin(), streams.cend(), [&content, &label](const auto &stream) { - return (stream.getContent().compare(content) == 0) && (stream.getLabel().compare(label) == 0); + return ((content.empty() && stream.getContent().empty()) || stream.getContent().compare(content) == 0) && + (stream.getLabel().compare(label) == 0); }); return streamIt; } @@ -491,7 +502,8 @@ int SalMediaDescription::findIdxStreamWithContent(const std::string content, con unsigned int SalMediaDescription::nbStreamsOfType(SalStreamType type) const { unsigned int nb = 0; for (const auto &stream : streams) { - if (stream.getType() == type) nb++; + if (stream.getType() == type) + nb++; } return nb; } @@ -499,7 +511,8 @@ unsigned int SalMediaDescription::nbStreamsOfType(SalStreamType type) const { unsigned int SalMediaDescription::nbActiveStreamsOfType(SalStreamType type) const { unsigned int nb = 0; for (const auto &stream : streams) { - if (stream.enabled() && (stream.getType() == type)) nb++; + if (stream.enabled() && (stream.getType() == type)) + nb++; } return nb; } @@ -516,7 +529,8 @@ const SalStreamDescription &SalMediaDescription::getActiveStreamOfType(SalStream const SalStreamDescription &SalMediaDescription::findSecureStreamOfType(SalStreamType type) const { auto idx = findIdxStream(SalProtoRtpSavpf, type); - if (idx == -1) idx = findIdxStream(SalProtoRtpSavp, type); + if (idx == -1) + idx = findIdxStream(SalProtoRtpSavp, type); if (idx != -1) { return getStreamIdx(static_cast<unsigned int>(idx)); } @@ -533,11 +547,16 @@ const SalStreamDescription &SalMediaDescription::findBestStream(SalStreamType ty int SalMediaDescription::findIdxBestStream(SalStreamType type) const { auto idx = findIdxStream(SalProtoUdpTlsRtpSavpf, type); - if (idx == -1) idx = findIdxStream(SalProtoUdpTlsRtpSavp, type); - if (idx == -1) idx = findIdxStream(SalProtoRtpSavpf, type); - if (idx == -1) idx = findIdxStream(SalProtoRtpSavp, type); - if (idx == -1) idx = findIdxStream(SalProtoRtpAvpf, type); - if (idx == -1) idx = findIdxStream(SalProtoRtpAvp, type); + if (idx == -1) + idx = findIdxStream(SalProtoUdpTlsRtpSavp, type); + if (idx == -1) + idx = findIdxStream(SalProtoRtpSavpf, type); + if (idx == -1) + idx = findIdxStream(SalProtoRtpSavp, type); + if (idx == -1) + idx = findIdxStream(SalProtoRtpAvpf, type); + if (idx == -1) + idx = findIdxStream(SalProtoRtpAvp, type); return idx; } @@ -578,7 +597,7 @@ const SalStreamDescription &SalMediaDescription::findStreamWithSdpAttribute( } std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findStreamItWithSdpAttribute( - const std::vector<std::pair<std::string, std::string>> &attributes) const { + const std::vector<std::pair<std::string, std::string>> &attributes) const { return std::find_if(streams.cbegin(), streams.cend(), [&attributes](const auto &stream) { bool found = true; for (const auto &[attrName, attrValue] : attributes) { @@ -594,7 +613,7 @@ std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findStrea } std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findStreamItWithSdpAttribute( - const SalStreamType type, const std::vector<std::pair<std::string, std::string>> &attributes) const { + const SalStreamType type, const std::vector<std::pair<std::string, std::string>> &attributes) const { return std::find_if(streams.cbegin(), streams.cend(), [&type, &attributes](const auto &stream) { bool found = true; for (const auto &[attrName, attrValue] : attributes) { @@ -609,15 +628,31 @@ std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findStrea }); } -const SalStreamDescription SalMediaDescription::findFirstStreamOfType(SalStreamType type) const { - const auto &streamIt = std::find_if(streams.cbegin(), streams.cend(), - [&type](const auto &stream) { return (stream.getType() == type); }); +std::vector<SalStreamDescription>::const_iterator SalMediaDescription::findFirstStreamItOfType(SalStreamType type, + int startingIdx) const { + auto streamSize = static_cast<int>(streams.size()); + auto idx = (startingIdx < 0) ? 0 : ((startingIdx >= streamSize) ? (streamSize - 1) : startingIdx); + const auto &streamIt = std::find_if(streams.cbegin() + idx, streams.cend(), + [&type](const auto &stream) { return (stream.getType() == type); }); + return streamIt; +} + +const SalStreamDescription &SalMediaDescription::findFirstStreamOfType(SalStreamType type, int startingIdx) const { + auto streamIt = findFirstStreamItOfType(type, startingIdx); if (streamIt != streams.end()) { return *streamIt; } return Utils::getEmptyConstRefObject<SalStreamDescription>(); } +int SalMediaDescription::findFirstStreamIdxOfType(SalStreamType type, int startingIdx) const { + auto streamIt = findFirstStreamItOfType(type, startingIdx); + if (streamIt != streams.end()) { + return static_cast<int>(std::distance(streams.begin(), streamIt)); + } + return -1; +} + const std::list<SalStreamDescription> SalMediaDescription::findAllStreamsOfType(SalStreamType type) const { std::list<SalStreamDescription> streamList; for (const auto &s : streams) { @@ -629,20 +664,23 @@ const std::list<SalStreamDescription> SalMediaDescription::findAllStreamsOfType( } bool SalMediaDescription::isEmpty() const { - if (getNbActiveStreams() > 0) return false; + if (getNbActiveStreams() > 0) + return false; return true; } bool SalMediaDescription::isAcceptable() const { for (auto &stream : streams) { - if (!stream.isAcceptable()) return false; + if (!stream.isAcceptable()) + return false; } return true; } void SalMediaDescription::setDir(SalStreamDir stream_dir) { for (auto &stream : streams) { - if (!stream.enabled()) continue; + if (!stream.enabled()) + continue; stream.setDirection(stream_dir); } } @@ -650,7 +688,8 @@ void SalMediaDescription::setDir(SalStreamDir stream_dir) { int SalMediaDescription::getNbActiveStreams() const { int nb = 0; for (auto &stream : streams) { - if (stream.enabled()) nb++; + if (stream.enabled()) + nb++; } return nb; } @@ -660,7 +699,8 @@ bool SalMediaDescription::hasIceParams() const { bool foundIceCandidates = true; bool foundIceStreamDescParams = true; for (const auto &stream : streams) { - if (!stream.enabled()) continue; + if (!stream.enabled()) + continue; foundIceCandidates &= stream.hasIceCandidates(); foundIceStreamDescParams &= stream.hasIceParams(); } @@ -670,46 +710,61 @@ bool SalMediaDescription::hasIceParams() const { } bool SalMediaDescription::hasAvpf() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; - if (stream.hasAvpf() != true) return false; + if (!stream.enabled()) + continue; + if (stream.hasAvpf() != true) + return false; } return true; } bool SalMediaDescription::hasImplicitAvpf() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; - if (stream.hasImplicitAvpf() != true) return false; + if (!stream.enabled()) + continue; + if (stream.hasImplicitAvpf() != true) + return false; } return true; } bool SalMediaDescription::hasSrtp() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; - if (stream.hasSrtp() != true) return false; + if (!stream.enabled()) + continue; + if (stream.hasSrtp() != true) + return false; } return true; } bool SalMediaDescription::hasDtls() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; - if (stream.hasDtls() != true) return false; + if (!stream.enabled()) + continue; + if (stream.hasDtls() != true) + return false; } return true; } bool SalMediaDescription::hasZrtp() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; - if (stream.hasZrtp() != true) return false; + if (!stream.enabled()) + continue; + if (stream.hasZrtp() != true) + return false; } return true; } @@ -719,13 +774,17 @@ bool SalMediaDescription::hasLimeIk() const { } bool SalMediaDescription::hasIpv6() const { - if (streams.empty()) return false; + if (streams.empty()) + return false; for (const auto &stream : streams) { - if (!stream.enabled()) continue; + if (!stream.enabled()) + continue; if (stream.getRtpAddress().empty() == false) { - if (!stream.hasIpv6()) return false; + if (!stream.hasIpv6()) + return false; } else { - if (addr.find(':') == std::string::npos) return false; + if (addr.find(':') == std::string::npos) + return false; } } return true; @@ -742,8 +801,9 @@ bool SalMediaDescription::operator!=(const SalMediaDescription &other) const { int SalMediaDescription::compareToActualConfiguration(const SalMediaDescription &otherMd) const { int result = globalEqual(otherMd); for (auto stream1 = streams.cbegin(), stream2 = otherMd.streams.cbegin(); - (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { - if (!stream1->enabled() && !stream2->enabled()) continue; + (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { + if (!stream1->enabled() && !stream2->enabled()) + continue; result |= stream1->compareToActualConfiguration(*stream2); } return result; @@ -752,8 +812,9 @@ int SalMediaDescription::compareToActualConfiguration(const SalMediaDescription int SalMediaDescription::compareToChosenConfiguration(const SalMediaDescription &otherMd) const { int result = globalEqual(otherMd); for (auto stream1 = streams.cbegin(), stream2 = otherMd.streams.cbegin(); - (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { - if (!stream1->enabled() && !stream2->enabled()) continue; + (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { + if (!stream1->enabled() && !stream2->enabled()) + continue; result |= stream1->compareToChosenConfiguration(*stream2); } return result; @@ -762,8 +823,9 @@ int SalMediaDescription::compareToChosenConfiguration(const SalMediaDescription int SalMediaDescription::equal(const SalMediaDescription &otherMd) const { int result = globalEqual(otherMd); for (auto stream1 = streams.cbegin(), stream2 = otherMd.streams.cbegin(); - (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { - if (!stream1->enabled() && !stream2->enabled()) continue; + (stream1 != streams.cend() && stream2 != otherMd.streams.cend()); ++stream1, ++stream2) { + if (!stream1->enabled() && !stream2->enabled()) + continue; result |= stream1->equal(*stream2); } return result; @@ -772,12 +834,15 @@ int SalMediaDescription::equal(const SalMediaDescription &otherMd) const { int SalMediaDescription::globalEqual(const SalMediaDescription &otherMd) const { int result = SAL_MEDIA_DESCRIPTION_UNCHANGED; - if (addr.compare(otherMd.addr) != 0) result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; + if (addr.compare(otherMd.addr) != 0) + result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; if (addr.empty() == false && otherMd.addr.empty() == false && - ms_is_multicast(L_STRING_TO_C(addr)) != ms_is_multicast(L_STRING_TO_C(otherMd.addr))) + ms_is_multicast(L_STRING_TO_C(addr)) != ms_is_multicast(L_STRING_TO_C(otherMd.addr))) result |= SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED; - if (streams.size() != otherMd.streams.size()) result |= SAL_MEDIA_DESCRIPTION_STREAMS_CHANGED; - if (bandwidth != otherMd.bandwidth) result |= SAL_MEDIA_DESCRIPTION_BANDWIDTH_CHANGED; + if (streams.size() != otherMd.streams.size()) + result |= SAL_MEDIA_DESCRIPTION_STREAMS_CHANGED; + if (bandwidth != otherMd.bandwidth) + result |= SAL_MEDIA_DESCRIPTION_BANDWIDTH_CHANGED; /* ICE */ if (ice_ufrag.compare(otherMd.ice_ufrag) != 0 && !otherMd.ice_ufrag.empty()) @@ -790,6 +855,10 @@ int SalMediaDescription::globalEqual(const SalMediaDescription &otherMd) const { const std::string SalMediaDescription::printDifferences(int result) { std::string out = std::string(); + if (result & SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED) { + out.append("DIRECTION_CHANGED "); + result &= ~SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED; + } if (result & SAL_MEDIA_DESCRIPTION_CODEC_CHANGED) { out.append("CODEC_CHANGED "); result &= ~SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; @@ -857,7 +926,8 @@ const std::string SalMediaDescription::printDifferences(int result) { if (result) { ms_fatal("There are unhandled result bitmasks in SalMediaDescription::printDifferences(), fix it"); } - if (out.empty()) out = "NONE"; + if (out.empty()) + out = "NONE"; return out; } diff --git a/src/sal/sal_media_description.h b/src/sal/sal_media_description.h index 4db16369db..bb9a33ca75 100644 --- a/src/sal/sal_media_description.h +++ b/src/sal/sal_media_description.h @@ -71,16 +71,17 @@ public: int findIdxBestStream(SalStreamType type) const; const SalStreamDescription & findStreamWithSdpAttribute(const SalStreamType type, - const std::vector<std::pair<std::string, std::string>> &attributes) const; + const std::vector<std::pair<std::string, std::string>> &attributes) const; const SalStreamDescription & findStreamWithSdpAttribute(const std::vector<std::pair<std::string, std::string>> &attributes) const; - const SalStreamDescription findFirstStreamOfType(SalStreamType type) const; + const SalStreamDescription &findFirstStreamOfType(SalStreamType type, int startingIdx = -1) const; + int findFirstStreamIdxOfType(SalStreamType type, int startingIdx = -1) const; const std::list<SalStreamDescription> findAllStreamsOfType(SalStreamType type) const; int findIdxStreamWithSdpAttribute(const SalStreamType, - const std::vector<std::pair<std::string, std::string>> &attributes) const; + const std::vector<std::pair<std::string, std::string>> &attributes) const; int findIdxStreamWithSdpAttribute(const std::vector<std::pair<std::string, std::string>> &attributes) const; - const SalStreamDescription &findStreamWithLabel(const std::string label) const; - int findIdxStreamWithLabel(const std::string label) const; + const SalStreamDescription &findStreamWithLabel(SalStreamType type, const std::string label) const; + int findIdxStreamWithLabel(SalStreamType type, const std::string label) const; const SalStreamDescription &findStreamWithContent(const std::string content) const; int findIdxStreamWithContent(const std::string content) const; @@ -175,18 +176,21 @@ private: mutable SalMediaDescriptionParams params; + std::vector<SalStreamDescription>::const_iterator findFirstStreamItOfType(SalStreamType type, + int startingIdx = -1) const; std::vector<SalStreamDescription>::const_iterator findStreamItWithSdpAttribute(const std::vector<std::pair<std::string, std::string>> &attributes) const; std::vector<SalStreamDescription>::const_iterator findStreamItWithSdpAttribute(const SalStreamType type, - const std::vector<std::pair<std::string, std::string>> &attributes) const; + const std::vector<std::pair<std::string, std::string>> &attributes) const; std::vector<SalStreamDescription>::const_iterator findStreamIt(SalMediaProto proto, SalStreamType type) const; - std::vector<SalStreamDescription>::const_iterator findStreamItWithLabel(const std::string label) const; + std::vector<SalStreamDescription>::const_iterator findStreamItWithLabel(SalStreamType type, + const std::string label) const; std::vector<SalStreamDescription>::const_iterator findStreamItWithContent(const std::string content) const; std::vector<SalStreamDescription>::const_iterator findStreamItWithContent(const std::string content, - const SalStreamDir direction) const; + const SalStreamDir direction) const; std::vector<SalStreamDescription>::const_iterator findStreamItWithContent(const std::string content, - const std::string label) const; + const std::string label) const; /*check for the presence of at least one stream with requested direction */ bool containsStreamWithDir(const SalStreamDir &stream_dir) const; diff --git a/src/sal/sal_stream_configuration.cpp b/src/sal/sal_stream_configuration.cpp index 0b4c558a09..01fc5f51fc 100644 --- a/src/sal/sal_stream_configuration.cpp +++ b/src/sal/sal_stream_configuration.cpp @@ -127,11 +127,16 @@ bool SalStreamConfiguration::isRecvOnly(const PayloadType *p) { } bool SalStreamConfiguration::isSamePayloadType(const PayloadType *p1, const PayloadType *p2) { - if (p1->type != p2->type) return false; - if (strcmp(p1->mime_type, p2->mime_type) != 0) return false; - if (p1->clock_rate != p2->clock_rate) return false; - if (p1->channels != p2->channels) return false; - if (payload_type_get_number(p1) != payload_type_get_number(p2)) return false; + if (p1->type != p2->type) + return false; + if (strcmp(p1->mime_type, p2->mime_type) != 0) + return false; + if (p1->clock_rate != p2->clock_rate) + return false; + if (p1->channels != p2->channels) + return false; + if (payload_type_get_number(p1) != payload_type_get_number(p2)) + return false; /* Do not compare fmtp right now: they are modified internally when the call is started */ @@ -144,13 +149,15 @@ bool SalStreamConfiguration::isSamePayloadType(const PayloadType *p1, const Payl } bool SalStreamConfiguration::isSamePayloadList(const std::list<PayloadType *> &l1, const std::list<PayloadType *> &l2) { - if (l1.size() != l2.size()) return false; + if (l1.size() != l2.size()) + return false; auto p1 = l1.cbegin(); auto p2 = l2.cbegin(); // First payloads must match - if (p1 != l1.cend() && p2 != l2.cend() && !isSamePayloadType(*p1, *p2)) return false; + if (p1 != l1.cend() && p2 != l2.cend() && !isSamePayloadType(*p1, *p2)) + return false; // Subsequent payloads are considered equal irrespective of order bool matching = true; @@ -184,9 +191,10 @@ int SalStreamConfiguration::equal(const SalStreamConfiguration &other) const { /* A different proto should result in SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED but the encryption change needs a stream restart for now, so use SAL_MEDIA_DESCRIPTION_CODEC_CHANGED */ - if (proto != other.proto) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; + if (proto != other.proto) + result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; for (auto crypto1 = crypto.cbegin(), crypto2 = other.crypto.cbegin(); - (crypto1 != crypto.cend() && crypto2 != other.crypto.cend()); ++crypto1, ++crypto2) { + (crypto1 != crypto.cend() && crypto2 != other.crypto.cend()); ++crypto1, ++crypto2) { if ((crypto1->tag != crypto2->tag) || (crypto1->algo != crypto2->algo)) { result |= SAL_MEDIA_DESCRIPTION_CRYPTO_POLICY_CHANGED; } @@ -210,18 +218,23 @@ int SalStreamConfiguration::equal(const SalStreamConfiguration &other) const { result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; } // Codec changed if either ptime is valid (i.e. greater than 0) and the other is not - if (((ptime > 0) ^ (other.ptime > 0))) result |= SAL_MEDIA_DESCRIPTION_PTIME_CHANGED; + if (((ptime > 0) ^ (other.ptime > 0))) + result |= SAL_MEDIA_DESCRIPTION_PTIME_CHANGED; // If both ptimes are valid, check that their valid is the same - if ((ptime > 0) && (other.ptime > 0) && (ptime != other.ptime)) result |= SAL_MEDIA_DESCRIPTION_PTIME_CHANGED; - if (dir != other.dir) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; + if ((ptime > 0) && (other.ptime > 0) && (ptime != other.ptime)) + result |= SAL_MEDIA_DESCRIPTION_PTIME_CHANGED; + if (dir != other.dir) + result |= SAL_MEDIA_DESCRIPTION_DIRECTION_CHANGED; /*DTLS*/ - if (dtls_role != other.dtls_role) result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED; + if (dtls_role != other.dtls_role) + result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED; if (((dtls_role == SalDtlsRoleInvalid) && (other.dtls_role != SalDtlsRoleInvalid)) || - ((dtls_role != SalDtlsRoleInvalid) && (other.dtls_role == SalDtlsRoleInvalid))) + ((dtls_role != SalDtlsRoleInvalid) && (other.dtls_role == SalDtlsRoleInvalid))) result |= SAL_MEDIA_DESCRIPTION_CRYPTO_TYPE_CHANGED; - if (dtls_fingerprint.compare(other.dtls_fingerprint) != 0) result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED; + if (dtls_fingerprint.compare(other.dtls_fingerprint) != 0) + result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED; /*ZRTP*/ if (haveZrtpHash != other.haveZrtpHash) { @@ -326,7 +339,8 @@ bool SalStreamConfiguration::hasZrtp() const { } bool SalStreamConfiguration::hasLimeIk() const { - if (haveLimeIk == 1) return true; + if (haveLimeIk == 1) + return true; return false; } @@ -335,8 +349,10 @@ const SalMediaProto &SalStreamConfiguration::getProto() const { } const std::string SalStreamConfiguration::getProtoAsString() const { - if (proto == SalProtoOther) return proto_other; - else return LinphonePrivate::Utils::toString(proto); + if (proto == SalProtoOther) + return proto_other; + else + return LinphonePrivate::Utils::toString(proto); } SalStreamDir SalStreamConfiguration::getDirection() const { diff --git a/src/sal/sal_stream_description.cpp b/src/sal/sal_stream_description.cpp index effbbc4475..fba3ff0f44 100644 --- a/src/sal/sal_stream_description.cpp +++ b/src/sal/sal_stream_description.cpp @@ -70,11 +70,13 @@ SalStreamDescription::SalStreamDescription(const SalStreamDescription &other) { tcaps = other.tcaps; for (const auto &cfg : other.cfgs) { const auto result = cfgs.insert(cfg); - if (!result.second) cfgs[cfg.first] = cfg.second; + if (!result.second) + cfgs[cfg.first] = cfg.second; } for (const auto &cfg : other.unparsed_cfgs) { const auto result = unparsed_cfgs.insert(cfg); - if (!result.second) unparsed_cfgs[cfg.first] = cfg.second; + if (!result.second) + unparsed_cfgs[cfg.first] = cfg.second; } PayloadTypeHandler::clearPayloadList(already_assigned_payloads); for (const auto &pt : other.already_assigned_payloads) { @@ -385,14 +387,14 @@ void SalStreamDescription::createPotentialConfiguration(const SalStreamDescripti std::transform(protoString.begin(), protoString.end(), protoString.begin(), ::toupper); baseCfg.proto_other = protoString; switch (proto) { - case SalProtoRtpAvpf: - case SalProtoRtpSavpf: - case SalProtoUdpTlsRtpSavpf: - baseCfg.enableAvpfForStream(); - break; - default: - baseCfg.disableAvpfForStream(); - break; + case SalProtoRtpAvpf: + case SalProtoRtpSavpf: + case SalProtoUdpTlsRtpSavpf: + baseCfg.enableAvpfForStream(); + break; + default: + baseCfg.disableAvpfForStream(); + break; } auto cfgListForEnc = addAcapsToConfiguration(baseCfg, enc, attrList, mergeCfgLines); for (auto cfg : cfgListForEnc) { @@ -790,11 +792,13 @@ SalStreamDescription &SalStreamDescription::operator=(const SalStreamDescription tcaps = other.tcaps; for (const auto &cfg : other.cfgs) { const auto result = cfgs.insert(cfg); - if (!result.second) cfgs[cfg.first] = cfg.second; + if (!result.second) + cfgs[cfg.first] = cfg.second; } for (const auto &cfg : other.unparsed_cfgs) { const auto result = unparsed_cfgs.insert(cfg); - if (!result.second) unparsed_cfgs[cfg.first] = cfg.second; + if (!result.second) + unparsed_cfgs[cfg.first] = cfg.second; } PayloadTypeHandler::clearPayloadList(already_assigned_payloads); for (const auto &pt : other.already_assigned_payloads) { @@ -849,7 +853,6 @@ int SalStreamDescription::compareToActualConfiguration(const SalStreamDescriptio int SalStreamDescription::compareConfigurations(const SalStreamDescription &other, const SalStreamDescription::cfg_map::key_type &thisKey, const SalStreamDescription::cfg_map::key_type &otherKey) const { - const SalStreamConfiguration &thisCfg = getConfigurationAtIndex(thisKey); const SalStreamConfiguration &otherCfg = other.getConfigurationAtIndex(otherKey); int result = (thisCfg.equal(otherCfg)); @@ -860,7 +863,8 @@ int SalStreamDescription::compareConfigurations(const SalStreamDescription &othe int SalStreamDescription::equal(const SalStreamDescription &other) const { int result = globalEqual(other); - if (cfgs.size() != other.cfgs.size()) result |= SAL_MEDIA_DESCRIPTION_CONFIGURATION_CHANGED; + if (cfgs.size() != other.cfgs.size()) + result |= SAL_MEDIA_DESCRIPTION_CONFIGURATION_CHANGED; for (auto cfg1 = cfgs.cbegin(), cfg2 = other.cfgs.cbegin(); (cfg1 != cfgs.cend() && cfg2 != other.cfgs.cend()); ++cfg1, ++cfg2) { @@ -879,8 +883,10 @@ int SalStreamDescription::equal(const SalStreamDescription &other) const { int SalStreamDescription::globalEqual(const SalStreamDescription &other) const { int result = SAL_MEDIA_DESCRIPTION_UNCHANGED; - if (type != other.type) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; - if (content.compare(other.content) != 0) result |= SAL_MEDIA_DESCRIPTION_CONTENT_CHANGED; + if (type != other.type) + result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; + if (content.compare(other.content) != 0) + result |= SAL_MEDIA_DESCRIPTION_CONTENT_CHANGED; // RTP if ((rtp_addr.compare(other.rtp_addr) != 0) && ((rtp_port != 0) || (other.rtp_port != 0))) @@ -889,8 +895,10 @@ int SalStreamDescription::globalEqual(const SalStreamDescription &other) const { ms_is_multicast(L_STRING_TO_C(rtp_addr)) != ms_is_multicast(L_STRING_TO_C(other.rtp_addr))) result |= SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED; if (rtp_port != other.rtp_port) { - if ((rtp_port == 0) || (other.rtp_port == 0)) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; - else result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; + if ((rtp_port == 0) || (other.rtp_port == 0)) + result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; + else + result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; } // RTCP @@ -900,11 +908,14 @@ int SalStreamDescription::globalEqual(const SalStreamDescription &other) const { ms_is_multicast(L_STRING_TO_C(rtcp_addr)) != ms_is_multicast(L_STRING_TO_C(other.rtcp_addr))) result |= SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED; if (rtcp_port != other.rtcp_port) { - if ((rtcp_port == 0) || (other.rtcp_port == 0)) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; - else result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; + if ((rtcp_port == 0) || (other.rtcp_port == 0)) + result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED; + else + result |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED; } - if (multicast_role != other.multicast_role) result |= SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED; + if (multicast_role != other.multicast_role) + result |= SAL_MEDIA_DESCRIPTION_NETWORK_XXXCAST_CHANGED; return result; } @@ -1004,8 +1015,10 @@ const SalStreamType &SalStreamDescription::getType() const { } const std::string SalStreamDescription::getTypeAsString() const { - if (type == SalOther) return typeother; - else return LinphonePrivate::Utils::toString(type); + if (type == SalOther) + return typeother; + else + return LinphonePrivate::Utils::toString(type); } void SalStreamDescription::setProto(const SalMediaProto &newProto) { @@ -1138,17 +1151,20 @@ SalStreamDescription::toSdpMediaDescription(const SalMediaDescription *salMediaD belle_sdp_connection_t *connection; if (rtp_addr.find(':') != std::string::npos) { inet6 = true; - } else inet6 = false; + } else + inet6 = false; connection = belle_sdp_connection_create("IN", inet6 ? "IP6" : "IP4", L_STRING_TO_C(rtp_addr)); if (ms_is_multicast(L_STRING_TO_C(rtp_addr))) { /*remove session cline in case of multicast*/ belle_sdp_session_description_set_connection(session_desc, NULL); - if (inet6 == false) belle_sdp_connection_set_ttl(connection, actualCfg.ttl); + if (inet6 == false) + belle_sdp_connection_set_ttl(connection, actualCfg.ttl); } belle_sdp_media_description_set_connection(media_desc, connection); } - if (bandwidth > 0) belle_sdp_media_description_set_bandwidth(media_desc, "AS", bandwidth); + if (bandwidth > 0) + belle_sdp_media_description_set_bandwidth(media_desc, "AS", bandwidth); if (actualCfg.hasSrtp()) { /* add crypto lines */ @@ -1443,7 +1459,8 @@ void SalStreamDescription::sdpParsePayloadTypes(SalStreamConfiguration &cfg, cfg.maxptime = belle_sdp_mime_parameter_get_max_ptime(mime_param); ms_message("Found payload %s/%i fmtp=%s", pt->mime_type, pt->clock_rate, pt->send_fmtp ? pt->send_fmtp : ""); } - if (mime_params) belle_sip_list_free_with_data(mime_params, belle_sip_object_unref); + if (mime_params) + belle_sip_list_free_with_data(mime_params, belle_sip_object_unref); } void SalStreamDescription::sdpParseMediaCryptoParameters(SalStreamConfiguration &cfg, @@ -1522,8 +1539,10 @@ void SalStreamDescription::sdpParseMediaIceParameters(const belle_sdp_media_desc } ptr += offset; if (ptr < endptr) { - if (*ptr == ' ') ptr += 1; - } else break; + if (*ptr == ' ') + ptr += 1; + } else + break; } } else if ((keywordcmp("ice-ufrag", att_name) == 0) && (value != NULL)) { ice_ufrag = L_C_TO_STRING(value); @@ -1540,50 +1559,50 @@ void SalStreamDescription::applyRtcpFbAttributeToPayload(SalStreamConfiguration PayloadType *pt) { PayloadTypeAvpfParams avpf_params = payload_type_get_avpf_params(pt); switch (belle_sdp_rtcp_fb_attribute_get_type(fb_attribute)) { - case BELLE_SDP_RTCP_FB_ACK: - if (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute) == BELLE_SDP_RTCP_FB_RPSI) { - avpf_params.features |= PAYLOAD_TYPE_AVPF_RPSI; - } + case BELLE_SDP_RTCP_FB_ACK: + if (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute) == BELLE_SDP_RTCP_FB_RPSI) { + avpf_params.features |= PAYLOAD_TYPE_AVPF_RPSI; + } + break; + case BELLE_SDP_RTCP_FB_NACK: + switch (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute)) { + case BELLE_SDP_RTCP_FB_PLI: + avpf_params.features |= PAYLOAD_TYPE_AVPF_PLI; break; - case BELLE_SDP_RTCP_FB_NACK: - switch (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute)) { - case BELLE_SDP_RTCP_FB_PLI: - avpf_params.features |= PAYLOAD_TYPE_AVPF_PLI; - break; - case BELLE_SDP_RTCP_FB_SLI: - avpf_params.features |= PAYLOAD_TYPE_AVPF_SLI; - break; - case BELLE_SDP_RTCP_FB_RPSI: - /* Linphone uses positive feeback for RPSI. However first versions handling - * AVPF wrongly declared RPSI as negative feedback, so this is kept for compatibility - * with these versions but will probably be removed at some point in time. */ - avpf_params.features |= PAYLOAD_TYPE_AVPF_RPSI; - avpf_params.rpsi_compatibility = true; - break; - case BELLE_SDP_RTCP_FB_NONE: - cfg.rtcp_fb.generic_nack_enabled = true; - break; - default: - break; - } + case BELLE_SDP_RTCP_FB_SLI: + avpf_params.features |= PAYLOAD_TYPE_AVPF_SLI; break; - case BELLE_SDP_RTCP_FB_TRR_INT: - avpf_params.trr_interval = belle_sdp_rtcp_fb_attribute_get_trr_int(fb_attribute); + case BELLE_SDP_RTCP_FB_RPSI: + /* Linphone uses positive feeback for RPSI. However first versions handling + * AVPF wrongly declared RPSI as negative feedback, so this is kept for compatibility + * with these versions but will probably be removed at some point in time. */ + avpf_params.features |= PAYLOAD_TYPE_AVPF_RPSI; + avpf_params.rpsi_compatibility = true; break; - case BELLE_SDP_RTCP_FB_CCM: - switch (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute)) { - case BELLE_SDP_RTCP_FB_FIR: - avpf_params.features |= PAYLOAD_TYPE_AVPF_FIR; - break; - case BELLE_SDP_RTCP_FB_TMMBR: - cfg.rtcp_fb.tmmbr_enabled = true; - break; - default: - break; - } + case BELLE_SDP_RTCP_FB_NONE: + cfg.rtcp_fb.generic_nack_enabled = true; break; default: break; + } + break; + case BELLE_SDP_RTCP_FB_TRR_INT: + avpf_params.trr_interval = belle_sdp_rtcp_fb_attribute_get_trr_int(fb_attribute); + break; + case BELLE_SDP_RTCP_FB_CCM: + switch (belle_sdp_rtcp_fb_attribute_get_param(fb_attribute)) { + case BELLE_SDP_RTCP_FB_FIR: + avpf_params.features |= PAYLOAD_TYPE_AVPF_FIR; + break; + case BELLE_SDP_RTCP_FB_TMMBR: + cfg.rtcp_fb.tmmbr_enabled = true; + break; + default: + break; + } + break; + default: + break; } payload_type_set_avpf_params(pt, avpf_params); } @@ -1767,6 +1786,10 @@ bool SalStreamDescription::isBundleOnly() const { return getChosenConfiguration().isBundleOnly(); } +const std::string &SalStreamDescription::getMid() const { + return getChosenConfiguration().getMid(); +} + void SalStreamDescription::addActualConfiguration(const SalStreamConfiguration &cfg) { addConfigurationAtIndex(getActualConfigurationIndex(), cfg); } diff --git a/src/sal/sal_stream_description.h b/src/sal/sal_stream_description.h index 20bb2678a4..fc5516ba04 100644 --- a/src/sal/sal_stream_description.h +++ b/src/sal/sal_stream_description.h @@ -142,6 +142,7 @@ public: const std::list<LinphoneMediaEncryption> &getSupportedEncryptions() const; const std::list<LinphoneMediaEncryption> getSupportedEncryptionsInPotentialCfgs() const; bool isBundleOnly() const; + const std::string &getMid() const; const SalStreamType &getType() const; const std::string getTypeAsString() const; diff --git a/src/xml/conference-info-linphone-extension.cpp b/src/xml/conference-info-linphone-extension.cpp index 7fdcdf04ba..337a7b10bb 100644 --- a/src/xml/conference-info-linphone-extension.cpp +++ b/src/xml/conference-info-linphone-extension.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,180 +41,333 @@ #include "conference-info-linphone-extension.h" -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -// ModeType -// - -ModeType::ModeType(const char *s) : ::LinphonePrivate::Xsd::XmlSchema::String(s) { -} - -ModeType::ModeType(const ::std::string &s) : ::LinphonePrivate::Xsd::XmlSchema::String(s) { -} - -ModeType::ModeType(const ModeType &o, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(o, f, c) { -} - -// ModeEnum -// - -ModeEnum::ModeEnum(Value v) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_ModeEnum_literals_[v]) { -} - -ModeEnum::ModeEnum(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -ModeEnum::ModeEnum(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -ModeEnum::ModeEnum(const ::LinphonePrivate::Xsd::XmlSchema::String &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -ModeEnum::ModeEnum(const ModeEnum &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -ModeEnum &ModeEnum::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_ModeEnum_literals_[v]); - - return *this; -} - -// Ephemeral -// - -const Ephemeral::ModeType &Ephemeral::getMode() const { - return this->mode_.get(); -} - -Ephemeral::ModeType &Ephemeral::getMode() { - return this->mode_.get(); -} - -void Ephemeral::setMode(const ModeType &x) { - this->mode_.set(x); -} - -void Ephemeral::setMode(::std::unique_ptr<ModeType> x) { - this->mode_.set(std::move(x)); -} - -::std::unique_ptr<Ephemeral::ModeType> Ephemeral::setDetachMode() { - return this->mode_.detach(); -} - -const Ephemeral::LifetimeType &Ephemeral::getLifetime() const { - return this->lifetime_.get(); -} - -Ephemeral::LifetimeType &Ephemeral::getLifetime() { - return this->lifetime_.get(); -} - -void Ephemeral::setLifetime(const LifetimeType &x) { - this->lifetime_.set(x); -} - -void Ephemeral::setLifetime(::std::unique_ptr<LifetimeType> x) { - this->lifetime_.set(std::move(x)); -} - -::std::unique_ptr<Ephemeral::LifetimeType> Ephemeral::setDetachLifetime() { - return this->lifetime_.detach(); -} - -const Ephemeral::AnySequence &Ephemeral::getAny() const { - return this->any_; -} - -Ephemeral::AnySequence &Ephemeral::getAny() { - return this->any_; -} - -void Ephemeral::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ::xercesc::DOMDocument &Ephemeral::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Ephemeral::getDomDocument() { - return *this->dom_document_; -} - -// ServiceDescription -// - -const ServiceDescription::ServiceIdType &ServiceDescription::getServiceId() const { - return this->service_id_.get(); -} - -ServiceDescription::ServiceIdType &ServiceDescription::getServiceId() { - return this->service_id_.get(); -} - -void ServiceDescription::setServiceId(const ServiceIdType &x) { - this->service_id_.set(x); -} - -void ServiceDescription::setServiceId(::std::unique_ptr<ServiceIdType> x) { - this->service_id_.set(std::move(x)); -} - -::std::unique_ptr<ServiceDescription::ServiceIdType> ServiceDescription::setDetachService_id() { - return this->service_id_.detach(); -} - -const ServiceDescription::VersionType &ServiceDescription::getVersion() const { - return this->version_.get(); -} - -ServiceDescription::VersionType &ServiceDescription::getVersion() { - return this->version_.get(); -} - -void ServiceDescription::setVersion(const VersionType &x) { - this->version_.set(x); -} - -void ServiceDescription::setVersion(::std::unique_ptr<VersionType> x) { - this->version_.set(std::move(x)); -} - -::std::unique_ptr<ServiceDescription::VersionType> ServiceDescription::setDetachVersion() { - return this->version_.detach(); -} - -const ServiceDescription::AnySequence &ServiceDescription::getAny() const { - return this->any_; -} - -ServiceDescription::AnySequence &ServiceDescription::getAny() { - return this->any_; -} - -void ServiceDescription::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ::xercesc::DOMDocument &ServiceDescription::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ServiceDescription::getDomDocument() { - return *this->dom_document_; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + // ModeType + // + + ModeType:: + ModeType (const char* s) + : ::LinphonePrivate::Xsd::XmlSchema::String (s) + { + } + + ModeType:: + ModeType (const ::std::string& s) + : ::LinphonePrivate::Xsd::XmlSchema::String (s) + { + } + + ModeType:: + ModeType (const ModeType& o, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (o, f, c) + { + } + + // ModeEnum + // + + ModeEnum:: + ModeEnum (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_ModeEnum_literals_[v]) + { + } + + ModeEnum:: + ModeEnum (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + ModeEnum:: + ModeEnum (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + ModeEnum:: + ModeEnum (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + ModeEnum:: + ModeEnum (const ModeEnum& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + ModeEnum& ModeEnum:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_ModeEnum_literals_[v]); + + return *this; + } + + + // Ephemeral + // + + const Ephemeral::ModeType& Ephemeral:: + getMode () const + { + return this->mode_.get (); + } + + Ephemeral::ModeType& Ephemeral:: + getMode () + { + return this->mode_.get (); + } + + void Ephemeral:: + setMode (const ModeType& x) + { + this->mode_.set (x); + } + + void Ephemeral:: + setMode (::std::unique_ptr< ModeType > x) + { + this->mode_.set (std::move (x)); + } + + ::std::unique_ptr< Ephemeral::ModeType > Ephemeral:: + setDetachMode () + { + return this->mode_.detach (); + } + + const Ephemeral::LifetimeType& Ephemeral:: + getLifetime () const + { + return this->lifetime_.get (); + } + + Ephemeral::LifetimeType& Ephemeral:: + getLifetime () + { + return this->lifetime_.get (); + } + + void Ephemeral:: + setLifetime (const LifetimeType& x) + { + this->lifetime_.set (x); + } + + void Ephemeral:: + setLifetime (::std::unique_ptr< LifetimeType > x) + { + this->lifetime_.set (std::move (x)); + } + + ::std::unique_ptr< Ephemeral::LifetimeType > Ephemeral:: + setDetachLifetime () + { + return this->lifetime_.detach (); + } + + const Ephemeral::AnySequence& Ephemeral:: + getAny () const + { + return this->any_; + } + + Ephemeral::AnySequence& Ephemeral:: + getAny () + { + return this->any_; + } + + void Ephemeral:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& Ephemeral:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Ephemeral:: + getDomDocument () + { + return *this->dom_document_; + } + + + // ServiceDescription + // + + const ServiceDescription::ServiceIdType& ServiceDescription:: + getServiceId () const + { + return this->service_id_.get (); + } + + ServiceDescription::ServiceIdType& ServiceDescription:: + getServiceId () + { + return this->service_id_.get (); + } + + void ServiceDescription:: + setServiceId (const ServiceIdType& x) + { + this->service_id_.set (x); + } + + void ServiceDescription:: + setServiceId (::std::unique_ptr< ServiceIdType > x) + { + this->service_id_.set (std::move (x)); + } + + ::std::unique_ptr< ServiceDescription::ServiceIdType > ServiceDescription:: + setDetachService_id () + { + return this->service_id_.detach (); + } + + const ServiceDescription::VersionType& ServiceDescription:: + getVersion () const + { + return this->version_.get (); + } + + ServiceDescription::VersionType& ServiceDescription:: + getVersion () + { + return this->version_.get (); + } + + void ServiceDescription:: + setVersion (const VersionType& x) + { + this->version_.set (x); + } + + void ServiceDescription:: + setVersion (::std::unique_ptr< VersionType > x) + { + this->version_.set (std::move (x)); + } + + ::std::unique_ptr< ServiceDescription::VersionType > ServiceDescription:: + setDetachVersion () + { + return this->version_.detach (); + } + + const ServiceDescription::AnySequence& ServiceDescription:: + getAny () const + { + return this->any_; + } + + ServiceDescription::AnySequence& ServiceDescription:: + getAny () + { + return this->any_; + } + + void ServiceDescription:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& ServiceDescription:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ServiceDescription:: + getDomDocument () + { + return *this->dom_document_; + } + + + // CryptoSecurityLevel + // + + const CryptoSecurityLevel::LevelType& CryptoSecurityLevel:: + getLevel () const + { + return this->level_.get (); + } + + CryptoSecurityLevel::LevelType& CryptoSecurityLevel:: + getLevel () + { + return this->level_.get (); + } + + void CryptoSecurityLevel:: + setLevel (const LevelType& x) + { + this->level_.set (x); + } + + void CryptoSecurityLevel:: + setLevel (::std::unique_ptr< LevelType > x) + { + this->level_.set (std::move (x)); + } + + ::std::unique_ptr< CryptoSecurityLevel::LevelType > CryptoSecurityLevel:: + setDetachLevel () + { + return this->level_.detach (); + } + + const CryptoSecurityLevel::AnySequence& CryptoSecurityLevel:: + getAny () const + { + return this->any_; + } + + CryptoSecurityLevel::AnySequence& CryptoSecurityLevel:: + getAny () + { + return this->any_; + } + + void CryptoSecurityLevel:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& CryptoSecurityLevel:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& CryptoSecurityLevel:: + getDomDocument () + { + return *this->dom_document_; + } + } + } } -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate #include <xsd/cxx/xml/dom/wildcard-source.hxx> @@ -222,548 +375,851 @@ const ::xercesc::DOMDocument &ServiceDescription::getDomDocument() const { #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -// ModeType -// - -ModeType::ModeType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { -} - -ModeType::ModeType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { -} - -ModeType::ModeType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { -} - -ModeType *ModeType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ModeType(*this, f, c); -} - -// ModeEnum -// - -ModeEnum::ModeEnum(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_ModeEnum_convert(); -} - -ModeEnum::ModeEnum(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_ModeEnum_convert(); -} - -ModeEnum::ModeEnum(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_ModeEnum_convert(); -} - -ModeEnum *ModeEnum::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ModeEnum(*this, f, c); -} - -ModeEnum::Value ModeEnum::_xsd_ModeEnum_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_ModeEnum_literals_); - const Value *i(::std::lower_bound(_xsd_ModeEnum_indexes_, _xsd_ModeEnum_indexes_ + 2, *this, c)); - - if (i == _xsd_ModeEnum_indexes_ + 2 || _xsd_ModeEnum_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const ModeEnum::_xsd_ModeEnum_literals_[2] = {"device-managed", "admin-managed"}; - -const ModeEnum::Value ModeEnum::_xsd_ModeEnum_indexes_[2] = { - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeEnum::admin_managed, - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeEnum::device_managed}; - -// Ephemeral -// - -Ephemeral::Ephemeral(const ModeType &mode, const LifetimeType &lifetime) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - mode_(mode, this), lifetime_(lifetime, this), any_(this->getDomDocument()) { -} - -Ephemeral::Ephemeral(const Ephemeral &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - mode_(x.mode_, f, this), lifetime_(x.lifetime_, f, this), any_(x.any_, this->getDomDocument()) { -} - -Ephemeral::Ephemeral(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), mode_(this), lifetime_(this), - any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void Ephemeral::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // mode - // - if (n.name() == "mode" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<ModeType> r(ModeTraits::create(i, f, this)); - - if (!mode_.present()) { - this->mode_.set(::std::move(r)); - continue; - } - } - - // lifetime - // - if (n.name() == "lifetime" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<LifetimeType> r(LifetimeTraits::create(i, f, this)); - - if (!lifetime_.present()) { - this->lifetime_.set(::std::move(r)); - continue; - } - } - - // any - // - if (n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!mode_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("mode", "linphone:xml:ns:conference-info-linphone-extension"); - } - - if (!lifetime_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("lifetime", - "linphone:xml:ns:conference-info-linphone-extension"); - } -} - -Ephemeral *Ephemeral::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Ephemeral(*this, f, c); -} - -Ephemeral &Ephemeral::operator=(const Ephemeral &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->mode_ = x.mode_; - this->lifetime_ = x.lifetime_; - this->any_ = x.any_; - } - - return *this; -} - -Ephemeral::~Ephemeral() { -} - -// ServiceDescription -// - -ServiceDescription::ServiceDescription(const ServiceIdType &service_id, const VersionType &version) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - service_id_(service_id, this), version_(version, this), any_(this->getDomDocument()) { -} - -ServiceDescription::ServiceDescription(const ServiceDescription &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - service_id_(x.service_id_, f, this), version_(x.version_, f, this), any_(x.any_, this->getDomDocument()) { -} - -ServiceDescription::ServiceDescription(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), service_id_(this), version_(this), - any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void ServiceDescription::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // service-id - // - if (n.name() == "service-id" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<ServiceIdType> r(ServiceIdTraits::create(i, f, this)); - - if (!service_id_.present()) { - this->service_id_.set(::std::move(r)); - continue; - } - } - - // version - // - if (n.name() == "version" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<VersionType> r(VersionTraits::create(i, f, this)); - - if (!version_.present()) { - this->version_.set(::std::move(r)); - continue; - } - } - - // any - // - if (n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!service_id_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("service-id", - "linphone:xml:ns:conference-info-linphone-extension"); - } - - if (!version_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("version", "linphone:xml:ns:conference-info-linphone-extension"); - } -} - -ServiceDescription *ServiceDescription::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ServiceDescription(*this, f, c); -} - -ServiceDescription &ServiceDescription::operator=(const ServiceDescription &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->service_id_ = x.service_id_; - this->version_ = x.version_; - this->any_ = x.any_; - } - - return *this; -} - -ServiceDescription::~ServiceDescription() { +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + // ModeType + // + + ModeType:: + ModeType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + } + + ModeType:: + ModeType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + } + + ModeType:: + ModeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + } + + ModeType* ModeType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ModeType (*this, f, c); + } + + // ModeEnum + // + + ModeEnum:: + ModeEnum (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_ModeEnum_convert (); + } + + ModeEnum:: + ModeEnum (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_ModeEnum_convert (); + } + + ModeEnum:: + ModeEnum (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_ModeEnum_convert (); + } + + ModeEnum* ModeEnum:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ModeEnum (*this, f, c); + } + + ModeEnum::Value ModeEnum:: + _xsd_ModeEnum_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ModeEnum_literals_); + const Value* i (::std::lower_bound ( + _xsd_ModeEnum_indexes_, + _xsd_ModeEnum_indexes_ + 2, + *this, + c)); + + if (i == _xsd_ModeEnum_indexes_ + 2 || _xsd_ModeEnum_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const ModeEnum:: + _xsd_ModeEnum_literals_[2] = + { + "device-managed", + "admin-managed" + }; + + const ModeEnum::Value ModeEnum:: + _xsd_ModeEnum_indexes_[2] = + { + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeEnum::admin_managed, + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeEnum::device_managed + }; + + // Ephemeral + // + + Ephemeral:: + Ephemeral (const ModeType& mode, + const LifetimeType& lifetime) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + mode_ (mode, this), + lifetime_ (lifetime, this), + any_ (this->getDomDocument ()) + { + } + + Ephemeral:: + Ephemeral (const Ephemeral& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + mode_ (x.mode_, f, this), + lifetime_ (x.lifetime_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + Ephemeral:: + Ephemeral (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + mode_ (this), + lifetime_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void Ephemeral:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // mode + // + if (n.name () == "mode" && n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< ModeType > r ( + ModeTraits::create (i, f, this)); + + if (!mode_.present ()) + { + this->mode_.set (::std::move (r)); + continue; + } + } + + // lifetime + // + if (n.name () == "lifetime" && n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< LifetimeType > r ( + LifetimeTraits::create (i, f, this)); + + if (!lifetime_.present ()) + { + this->lifetime_.set (::std::move (r)); + continue; + } + } + + // any + // + if (n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!mode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "mode", + "linphone:xml:ns:conference-info-linphone-extension"); + } + + if (!lifetime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "lifetime", + "linphone:xml:ns:conference-info-linphone-extension"); + } + } + + Ephemeral* Ephemeral:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Ephemeral (*this, f, c); + } + + Ephemeral& Ephemeral:: + operator= (const Ephemeral& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->mode_ = x.mode_; + this->lifetime_ = x.lifetime_; + this->any_ = x.any_; + } + + return *this; + } + + Ephemeral:: + ~Ephemeral () + { + } + + // ServiceDescription + // + + ServiceDescription:: + ServiceDescription (const ServiceIdType& service_id, + const VersionType& version) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + service_id_ (service_id, this), + version_ (version, this), + any_ (this->getDomDocument ()) + { + } + + ServiceDescription:: + ServiceDescription (const ServiceDescription& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + service_id_ (x.service_id_, f, this), + version_ (x.version_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + ServiceDescription:: + ServiceDescription (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + service_id_ (this), + version_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void ServiceDescription:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // service-id + // + if (n.name () == "service-id" && n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< ServiceIdType > r ( + ServiceIdTraits::create (i, f, this)); + + if (!service_id_.present ()) + { + this->service_id_.set (::std::move (r)); + continue; + } + } + + // version + // + if (n.name () == "version" && n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< VersionType > r ( + VersionTraits::create (i, f, this)); + + if (!version_.present ()) + { + this->version_.set (::std::move (r)); + continue; + } + } + + // any + // + if (n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!service_id_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "service-id", + "linphone:xml:ns:conference-info-linphone-extension"); + } + + if (!version_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "version", + "linphone:xml:ns:conference-info-linphone-extension"); + } + } + + ServiceDescription* ServiceDescription:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ServiceDescription (*this, f, c); + } + + ServiceDescription& ServiceDescription:: + operator= (const ServiceDescription& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->service_id_ = x.service_id_; + this->version_ = x.version_; + this->any_ = x.any_; + } + + return *this; + } + + ServiceDescription:: + ~ServiceDescription () + { + } + + // CryptoSecurityLevel + // + + CryptoSecurityLevel:: + CryptoSecurityLevel (const LevelType& level) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + level_ (level, this), + any_ (this->getDomDocument ()) + { + } + + CryptoSecurityLevel:: + CryptoSecurityLevel (const CryptoSecurityLevel& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + level_ (x.level_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + CryptoSecurityLevel:: + CryptoSecurityLevel (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + level_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void CryptoSecurityLevel:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // level + // + if (n.name () == "level" && n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< LevelType > r ( + LevelTraits::create (i, f, this)); + + if (!level_.present ()) + { + this->level_.set (::std::move (r)); + continue; + } + } + + // any + // + if (n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!level_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "level", + "linphone:xml:ns:conference-info-linphone-extension"); + } + } + + CryptoSecurityLevel* CryptoSecurityLevel:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class CryptoSecurityLevel (*this, f, c); + } + + CryptoSecurityLevel& CryptoSecurityLevel:: + operator= (const CryptoSecurityLevel& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->level_ = x.level_; + this->any_ = x.any_; + } + + return *this; + } + + CryptoSecurityLevel:: + ~CryptoSecurityLevel () + { + } + } + } } -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -::std::ostream &operator<<(::std::ostream &o, const ModeType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, ModeEnum::Value i) { - return o << ModeEnum::_xsd_ModeEnum_literals_[i]; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + ::std::ostream& + operator<< (::std::ostream& o, const ModeType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, ModeEnum::Value i) + { + return o << ModeEnum::_xsd_ModeEnum_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ModeEnum& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const Ephemeral& i) + { + o << ::std::endl << "mode: " << i.getMode (); + o << ::std::endl << "lifetime: " << i.getLifetime (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ServiceDescription& i) + { + o << ::std::endl << "service-id: " << i.getServiceId (); + o << ::std::endl << "version: " << i.getVersion (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const CryptoSecurityLevel& i) + { + o << ::std::endl << "level: " << i.getLevel (); + return o; + } + } + } } -::std::ostream &operator<<(::std::ostream &o, const ModeEnum &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const Ephemeral &i) { - o << ::std::endl << "mode: " << i.getMode(); - o << ::std::endl << "lifetime: " << i.getLifetime(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ServiceDescription &i) { - o << ::std::endl << "service-id: " << i.getServiceId(); - o << ::std::endl << "version: " << i.getVersion(); - return o; -} -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate - #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral>( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "ephemeral" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral, char>::create( - e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "ephemeral", - "linphone:xml:ns:conference-info-linphone-extension"); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> -parseEphemeral(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); - - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); - - if (n.name() == "ephemeral" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral, char>::create( - e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "ephemeral", - "linphone:xml:ns:conference-info-linphone-extension"); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::parseEphemeral ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "ephemeral" && + n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ephemeral", + "linphone:xml:ns:conference-info-linphone-extension"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "ephemeral" && + n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ephemeral", + "linphone:xml:ns:conference-info-linphone-extension"); + } + } + } } -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -771,222 +1227,332 @@ parseEphemeral(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOM #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -void operator<<(::xercesc::DOMElement &e, const ModeType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + void + operator<< (::xercesc::DOMElement& e, const ModeType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ModeType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const ModeType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const ModeEnum& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ModeEnum& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const ModeEnum& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + serializeEphemeral (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeEphemeral (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeEphemeral (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeEphemeral (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeEphemeral (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeEphemeral (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeEphemeral (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "ephemeral" && + n.namespace_ () == "linphone:xml:ns:conference-info-linphone-extension") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ephemeral", + "linphone:xml:ns:conference-info-linphone-extension"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeEphemeral (const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "ephemeral", + "linphone:xml:ns:conference-info-linphone-extension", + m, f)); + + ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const Ephemeral& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // mode + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "mode", + "linphone:xml:ns:conference-info-linphone-extension", + e)); + + s << i.getMode (); + } + + // lifetime + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "lifetime", + "linphone:xml:ns:conference-info-linphone-extension", + e)); + + s << i.getLifetime (); + } + + // any + // + for (Ephemeral::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const ServiceDescription& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // service-id + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "service-id", + "linphone:xml:ns:conference-info-linphone-extension", + e)); + + s << i.getServiceId (); + } + + // version + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "version", + "linphone:xml:ns:conference-info-linphone-extension", + e)); + + s << i.getVersion (); + } + + // any + // + for (ServiceDescription::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const CryptoSecurityLevel& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // level + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "level", + "linphone:xml:ns:conference-info-linphone-extension", + e)); + + s << i.getLevel (); + } + + // any + // + for (CryptoSecurityLevel::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + } + } } -void operator<<(::xercesc::DOMAttr &a, const ModeType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const ModeType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const ModeEnum &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const ModeEnum &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const ModeEnum &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void serializeEphemeral(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeEphemeral(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeEphemeral(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeEphemeral(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeEphemeral(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeEphemeral(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeEphemeral(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "ephemeral" && n.namespace_() == "linphone:xml:ns:conference-info-linphone-extension") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "ephemeral", - "linphone:xml:ns:conference-info-linphone-extension"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeEphemeral(const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("ephemeral", "linphone:xml:ns:conference-info-linphone-extension", m, f)); - - ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::serializeEphemeral(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const Ephemeral &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // mode - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("mode", "linphone:xml:ns:conference-info-linphone-extension", e)); - - s << i.getMode(); - } - - // lifetime - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("lifetime", "linphone:xml:ns:conference-info-linphone-extension", e)); - - s << i.getLifetime(); - } - - // any - // - for (Ephemeral::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const ServiceDescription &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // service-id - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element( - "service-id", "linphone:xml:ns:conference-info-linphone-extension", e)); - - s << i.getServiceId(); - } - - // version - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("version", "linphone:xml:ns:conference-info-linphone-extension", e)); - - s << i.getVersion(); - } - - // any - // - for (ServiceDescription::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/conference-info-linphone-extension.h b/src/xml/conference-info-linphone-extension.h index 7191664fc0..6001eee237 100644 --- a/src/xml/conference-info-linphone-extension.h +++ b/src/xml/conference-info-linphone-extension.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,215 +71,224 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -class ModeType; -class ModeEnum; -class Ephemeral; -class ServiceDescription; -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + class ModeType; + class ModeEnum; + class Ephemeral; + class ServiceDescription; + class CryptoSecurityLevel; + } + } +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> @@ -288,482 +297,654 @@ class ServiceDescription; #include "xml.h" -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -class ModeType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - ModeType(const char *v); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + class ModeType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: - ModeType(const ::std::string &v); + ModeType (const char* v); - ModeType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeType (const ::std::string& v); - ModeType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ModeType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ModeType(const ModeType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual ModeType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; -}; + ModeType (const ModeType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -class ModeEnum : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { device_managed, admin_managed }; + virtual ModeType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + }; - ModeEnum(Value v); + class ModeEnum: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + device_managed, + admin_managed + }; - ModeEnum(const char *v); + ModeEnum (Value v); - ModeEnum(const ::std::string &v); + ModeEnum (const char* v); - ModeEnum(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + ModeEnum (const ::std::string& v); - ModeEnum(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeEnum (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - ModeEnum(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeEnum (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ModeEnum(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeEnum (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ModeEnum(const ModeEnum &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ModeEnum (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual ModeEnum *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + ModeEnum (const ModeEnum& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ModeEnum &operator=(Value v); + virtual ModeEnum* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - virtual operator Value() const { - return _xsd_ModeEnum_convert(); - } + ModeEnum& + operator= (Value v); -protected: - Value _xsd_ModeEnum_convert() const; + virtual + operator Value () const + { + return _xsd_ModeEnum_convert (); + } -public: - static const char *const _xsd_ModeEnum_literals_[2]; - static const Value _xsd_ModeEnum_indexes_[2]; -}; + protected: + Value + _xsd_ModeEnum_convert () const; -class Ephemeral : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // mode - // - typedef ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeType ModeType; - typedef ::xsd::cxx::tree::traits<ModeType, char> ModeTraits; + public: + static const char* const _xsd_ModeEnum_literals_[2]; + static const Value _xsd_ModeEnum_indexes_[2]; + }; - const ModeType &getMode() const; + class Ephemeral: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // mode + // + typedef ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::ModeType ModeType; + typedef ::xsd::cxx::tree::traits< ModeType, char > ModeTraits; - ModeType &getMode(); + const ModeType& + getMode () const; + + ModeType& + getMode (); - void setMode(const ModeType &x); + void + setMode (const ModeType& x); - void setMode(::std::unique_ptr<ModeType> p); + void + setMode (::std::unique_ptr< ModeType > p); - ::std::unique_ptr<ModeType> setDetachMode(); + ::std::unique_ptr< ModeType > + setDetachMode (); - // lifetime - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String LifetimeType; - typedef ::xsd::cxx::tree::traits<LifetimeType, char> LifetimeTraits; + // lifetime + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String LifetimeType; + typedef ::xsd::cxx::tree::traits< LifetimeType, char > LifetimeTraits; - const LifetimeType &getLifetime() const; + const LifetimeType& + getLifetime () const; - LifetimeType &getLifetime(); + LifetimeType& + getLifetime (); - void setLifetime(const LifetimeType &x); + void + setLifetime (const LifetimeType& x); - void setLifetime(::std::unique_ptr<LifetimeType> p); + void + setLifetime (::std::unique_ptr< LifetimeType > p); - ::std::unique_ptr<LifetimeType> setDetachLifetime(); + ::std::unique_ptr< LifetimeType > + setDetachLifetime (); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - const AnySequence &getAny() const; + const AnySequence& + getAny () const; - AnySequence &getAny(); + AnySequence& + getAny (); - void setAny(const AnySequence &s); + void + setAny (const AnySequence& s); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - ::xercesc::DOMDocument &getDomDocument(); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - Ephemeral(const ModeType &, const LifetimeType &); + // Constructors. + // + Ephemeral (const ModeType&, + const LifetimeType&); - Ephemeral(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Ephemeral (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Ephemeral(const Ephemeral &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Ephemeral (const Ephemeral& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual Ephemeral *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual Ephemeral* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Ephemeral &operator=(const Ephemeral &x); + Ephemeral& + operator= (const Ephemeral& x); - virtual ~Ephemeral(); + virtual + ~Ephemeral (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - ::xsd::cxx::tree::one<ModeType> mode_; - ::xsd::cxx::tree::one<LifetimeType> lifetime_; - AnySequence any_; -}; + ::xsd::cxx::tree::one< ModeType > mode_; + ::xsd::cxx::tree::one< LifetimeType > lifetime_; + AnySequence any_; + }; -class ServiceDescription : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // service-id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String ServiceIdType; - typedef ::xsd::cxx::tree::traits<ServiceIdType, char> ServiceIdTraits; + class ServiceDescription: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // service-id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String ServiceIdType; + typedef ::xsd::cxx::tree::traits< ServiceIdType, char > ServiceIdTraits; - const ServiceIdType &getServiceId() const; + const ServiceIdType& + getServiceId () const; - ServiceIdType &getServiceId(); + ServiceIdType& + getServiceId (); - void setServiceId(const ServiceIdType &x); + void + setServiceId (const ServiceIdType& x); - void setServiceId(::std::unique_ptr<ServiceIdType> p); + void + setServiceId (::std::unique_ptr< ServiceIdType > p); - ::std::unique_ptr<ServiceIdType> setDetachService_id(); + ::std::unique_ptr< ServiceIdType > + setDetachService_id (); - // version - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String VersionType; - typedef ::xsd::cxx::tree::traits<VersionType, char> VersionTraits; + // version + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String VersionType; + typedef ::xsd::cxx::tree::traits< VersionType, char > VersionTraits; - const VersionType &getVersion() const; + const VersionType& + getVersion () const; - VersionType &getVersion(); + VersionType& + getVersion (); - void setVersion(const VersionType &x); + void + setVersion (const VersionType& x); - void setVersion(::std::unique_ptr<VersionType> p); + void + setVersion (::std::unique_ptr< VersionType > p); - ::std::unique_ptr<VersionType> setDetachVersion(); + ::std::unique_ptr< VersionType > + setDetachVersion (); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - const AnySequence &getAny() const; + const AnySequence& + getAny () const; - AnySequence &getAny(); + AnySequence& + getAny (); - void setAny(const AnySequence &s); + void + setAny (const AnySequence& s); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - ::xercesc::DOMDocument &getDomDocument(); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - ServiceDescription(const ServiceIdType &, const VersionType &); + // Constructors. + // + ServiceDescription (const ServiceIdType&, + const VersionType&); - ServiceDescription(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ServiceDescription (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ServiceDescription(const ServiceDescription &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ServiceDescription (const ServiceDescription& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual ServiceDescription *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual ServiceDescription* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - ServiceDescription &operator=(const ServiceDescription &x); + ServiceDescription& + operator= (const ServiceDescription& x); - virtual ~ServiceDescription(); + virtual + ~ServiceDescription (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - ::xsd::cxx::tree::one<ServiceIdType> service_id_; - ::xsd::cxx::tree::one<VersionType> version_; - AnySequence any_; -}; -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate + ::xsd::cxx::tree::one< ServiceIdType > service_id_; + ::xsd::cxx::tree::one< VersionType > version_; + AnySequence any_; + }; -#include <iosfwd> + class CryptoSecurityLevel: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // level + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String LevelType; + typedef ::xsd::cxx::tree::traits< LevelType, char > LevelTraits; -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -::std::ostream &operator<<(::std::ostream &, const ModeType &); + const LevelType& + getLevel () const; -::std::ostream &operator<<(::std::ostream &, ModeEnum::Value); + LevelType& + getLevel (); -::std::ostream &operator<<(::std::ostream &, const ModeEnum &); + void + setLevel (const LevelType& x); -::std::ostream &operator<<(::std::ostream &, const Ephemeral &); + void + setLevel (::std::unique_ptr< LevelType > p); -::std::ostream &operator<<(::std::ostream &, const ServiceDescription &); -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate + ::std::unique_ptr< LevelType > + setDetachLevel (); -#include <iosfwd> + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> + const AnySequence& + getAny () const; -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -// Parse a URI or a local file. -// + AnySequence& + getAny (); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); + void + setAny (const AnySequence& s); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// + ::xercesc::DOMDocument& + getDomDocument (); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); + // Constructors. + // + CryptoSecurityLevel (const LevelType&); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); + CryptoSecurityLevel (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); + CryptoSecurityLevel (const CryptoSecurityLevel& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -// Parse xercesc::DOMDocument. -// + virtual CryptoSecurityLevel* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); + CryptoSecurityLevel& + operator= (const CryptoSecurityLevel& x); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral> parseEphemeral( - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate + virtual + ~CryptoSecurityLevel (); -#include <iosfwd> + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/framework/XMLFormatter.hpp> + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; -#include <xsd/cxx/xml/dom/auto-ptr.hxx> + ::xsd::cxx::tree::one< LevelType > level_; + AnySequence any_; + }; + } + } +} -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfoLinphoneExtension { -void operator<<(::xercesc::DOMElement &, const ModeType &); +#include <iosfwd> -void operator<<(::xercesc::DOMAttr &, const ModeType &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + ::std::ostream& + operator<< (::std::ostream&, const ModeType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const ModeType &); + ::std::ostream& + operator<< (::std::ostream&, ModeEnum::Value); -void operator<<(::xercesc::DOMElement &, const ModeEnum &); + ::std::ostream& + operator<< (::std::ostream&, const ModeEnum&); -void operator<<(::xercesc::DOMAttr &, const ModeEnum &); + ::std::ostream& + operator<< (::std::ostream&, const Ephemeral&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const ModeEnum &); + ::std::ostream& + operator<< (::std::ostream&, const ServiceDescription&); -// Serialize to std::ostream. -// + ::std::ostream& + operator<< (::std::ostream&, const CryptoSecurityLevel&); + } + } +} -void serializeEphemeral(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeEphemeral(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeEphemeral(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// +#include <iosfwd> -void serializeEphemeral(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeEphemeral(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeEphemeral(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// +#include <xercesc/sax/InputSource.hpp> +#include <xercesc/dom/DOMDocument.hpp> +#include <xercesc/dom/DOMErrorHandler.hpp> -void serializeEphemeral(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral > + parseEphemeral (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} -// Serialize to a new xercesc::DOMDocument. -// +#include <iosfwd> -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeEphemeral(const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); +#include <xercesc/dom/DOMDocument.hpp> +#include <xercesc/dom/DOMErrorHandler.hpp> +#include <xercesc/framework/XMLFormatter.hpp> -void operator<<(::xercesc::DOMElement &, const Ephemeral &); +#include <xsd/cxx/xml/dom/auto-ptr.hxx> -void operator<<(::xercesc::DOMElement &, const ServiceDescription &); -} // namespace ConferenceInfoLinphoneExtension -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfoLinphoneExtension + { + void + operator<< (::xercesc::DOMElement&, const ModeType&); + + void + operator<< (::xercesc::DOMAttr&, const ModeType&); + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const ModeType&); + + void + operator<< (::xercesc::DOMElement&, const ModeEnum&); + + void + operator<< (::xercesc::DOMAttr&, const ModeEnum&); + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const ModeEnum&); + + // Serialize to std::ostream. + // + + void + serializeEphemeral (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeEphemeral (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeEphemeral (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeEphemeral (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeEphemeral (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeEphemeral (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeEphemeral (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeEphemeral (const ::LinphonePrivate::Xsd::ConferenceInfoLinphoneExtension::Ephemeral& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const Ephemeral&); + + void + operator<< (::xercesc::DOMElement&, const ServiceDescription&); + + void + operator<< (::xercesc::DOMElement&, const CryptoSecurityLevel&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/conference-info-linphone-extension.xsd b/src/xml/conference-info-linphone-extension.xsd index 75603403c0..bb1d25b52a 100644 --- a/src/xml/conference-info-linphone-extension.xsd +++ b/src/xml/conference-info-linphone-extension.xsd @@ -44,4 +44,13 @@ </xs:complexType> </xs:element> + <xs:element name="crypto-security-level"> + <xs:complexType> + <xs:sequence> + <xs:element name="level" type="xs:string"/> + <xs:any namespace="##targetNamespace" processContents="strict" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:schema> diff --git a/src/xml/conference-info.cpp b/src/xml/conference-info.cpp index 3fb11eea5d..7df7ad7f27 100644 --- a/src/xml/conference-info.cpp +++ b/src/xml/conference-info.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,5255 +21,7555 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" -#endif -// -// End prologue. - -#include <xsd/cxx/pre.hxx> - -#include "conference-info.h" - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -// ConferenceType -// - -const ConferenceType::ConferenceDescriptionOptional &ConferenceType::getConferenceDescription() const { - return this->conference_description_; -} - -ConferenceType::ConferenceDescriptionOptional &ConferenceType::getConferenceDescription() { - return this->conference_description_; -} - -void ConferenceType::setConferenceDescription(const ConferenceDescriptionType &x) { - this->conference_description_.set(x); -} - -void ConferenceType::setConferenceDescription(const ConferenceDescriptionOptional &x) { - this->conference_description_ = x; -} - -void ConferenceType::setConferenceDescription(::std::unique_ptr<ConferenceDescriptionType> x) { - this->conference_description_.set(std::move(x)); -} - -const ConferenceType::HostInfoOptional &ConferenceType::getHostInfo() const { - return this->host_info_; -} - -ConferenceType::HostInfoOptional &ConferenceType::getHostInfo() { - return this->host_info_; -} - -void ConferenceType::setHostInfo(const HostInfoType &x) { - this->host_info_.set(x); -} - -void ConferenceType::setHostInfo(const HostInfoOptional &x) { - this->host_info_ = x; -} - -void ConferenceType::setHostInfo(::std::unique_ptr<HostInfoType> x) { - this->host_info_.set(std::move(x)); -} - -const ConferenceType::ConferenceStateOptional &ConferenceType::getConferenceState() const { - return this->conference_state_; -} - -ConferenceType::ConferenceStateOptional &ConferenceType::getConferenceState() { - return this->conference_state_; -} - -void ConferenceType::setConferenceState(const ConferenceStateType &x) { - this->conference_state_.set(x); -} - -void ConferenceType::setConferenceState(const ConferenceStateOptional &x) { - this->conference_state_ = x; -} - -void ConferenceType::setConferenceState(::std::unique_ptr<ConferenceStateType> x) { - this->conference_state_.set(std::move(x)); -} - -const ConferenceType::UsersOptional &ConferenceType::getUsers() const { - return this->users_; -} - -ConferenceType::UsersOptional &ConferenceType::getUsers() { - return this->users_; -} - -void ConferenceType::setUsers(const UsersType &x) { - this->users_.set(x); -} - -void ConferenceType::setUsers(const UsersOptional &x) { - this->users_ = x; -} - -void ConferenceType::setUsers(::std::unique_ptr<UsersType> x) { - this->users_.set(std::move(x)); -} - -const ConferenceType::SidebarsByRefOptional &ConferenceType::getSidebarsByRef() const { - return this->sidebars_by_ref_; -} - -ConferenceType::SidebarsByRefOptional &ConferenceType::getSidebarsByRef() { - return this->sidebars_by_ref_; -} - -void ConferenceType::setSidebarsByRef(const SidebarsByRefType &x) { - this->sidebars_by_ref_.set(x); -} - -void ConferenceType::setSidebarsByRef(const SidebarsByRefOptional &x) { - this->sidebars_by_ref_ = x; -} - -void ConferenceType::setSidebarsByRef(::std::unique_ptr<SidebarsByRefType> x) { - this->sidebars_by_ref_.set(std::move(x)); -} - -const ConferenceType::SidebarsByValOptional &ConferenceType::getSidebarsByVal() const { - return this->sidebars_by_val_; -} - -ConferenceType::SidebarsByValOptional &ConferenceType::getSidebarsByVal() { - return this->sidebars_by_val_; -} - -void ConferenceType::setSidebarsByVal(const SidebarsByValType &x) { - this->sidebars_by_val_.set(x); -} - -void ConferenceType::setSidebarsByVal(const SidebarsByValOptional &x) { - this->sidebars_by_val_ = x; -} - -void ConferenceType::setSidebarsByVal(::std::unique_ptr<SidebarsByValType> x) { - this->sidebars_by_val_.set(std::move(x)); -} - -const ConferenceType::AnySequence &ConferenceType::getAny() const { - return this->any_; -} - -ConferenceType::AnySequence &ConferenceType::getAny() { - return this->any_; -} - -void ConferenceType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ConferenceType::EntityType &ConferenceType::getEntity() const { - return this->entity_.get(); -} - -ConferenceType::EntityType &ConferenceType::getEntity() { - return this->entity_.get(); -} - -void ConferenceType::setEntity(const EntityType &x) { - this->entity_.set(x); -} - -void ConferenceType::setEntity(::std::unique_ptr<EntityType> x) { - this->entity_.set(std::move(x)); -} - -::std::unique_ptr<ConferenceType::EntityType> ConferenceType::setDetachEntity() { - return this->entity_.detach(); -} - -const ConferenceType::StateType &ConferenceType::getState() const { - return this->state_.get(); -} - -ConferenceType::StateType &ConferenceType::getState() { - return this->state_.get(); -} - -void ConferenceType::setState(const StateType &x) { - this->state_.set(x); -} - -void ConferenceType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<ConferenceType::StateType> ConferenceType::setDetachState() { - return this->state_.detach(); -} - -const ConferenceType::StateType &ConferenceType::getStateDefaultValue() { - return state_default_value_; -} - -const ConferenceType::VersionOptional &ConferenceType::getVersion() const { - return this->version_; -} - -ConferenceType::VersionOptional &ConferenceType::getVersion() { - return this->version_; -} - -void ConferenceType::setVersion(const VersionType &x) { - this->version_.set(x); -} - -void ConferenceType::setVersion(const VersionOptional &x) { - this->version_ = x; -} - -const ConferenceType::AnyAttributeSet &ConferenceType::getAnyAttribute() const { - return this->any_attribute_; -} - -ConferenceType::AnyAttributeSet &ConferenceType::getAnyAttribute() { - return this->any_attribute_; -} - -void ConferenceType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ConferenceType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ConferenceType::getDomDocument() { - return *this->dom_document_; -} - -// StateType -// - -StateType::StateType(Value v) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_StateType_literals_[v]) { -} - -StateType::StateType(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -StateType::StateType(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -StateType::StateType(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -StateType::StateType(const StateType &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -StateType &StateType::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_StateType_literals_[v]); - - return *this; -} - -// ConferenceDescriptionType -// - -const ConferenceDescriptionType::DisplayTextOptional &ConferenceDescriptionType::getDisplayText() const { - return this->display_text_; -} - -ConferenceDescriptionType::DisplayTextOptional &ConferenceDescriptionType::getDisplayText() { - return this->display_text_; -} - -void ConferenceDescriptionType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void ConferenceDescriptionType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void ConferenceDescriptionType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const ConferenceDescriptionType::SubjectOptional &ConferenceDescriptionType::getSubject() const { - return this->subject_; -} - -ConferenceDescriptionType::SubjectOptional &ConferenceDescriptionType::getSubject() { - return this->subject_; -} - -void ConferenceDescriptionType::setSubject(const SubjectType &x) { - this->subject_.set(x); -} - -void ConferenceDescriptionType::setSubject(const SubjectOptional &x) { - this->subject_ = x; -} - -void ConferenceDescriptionType::setSubject(::std::unique_ptr<SubjectType> x) { - this->subject_.set(std::move(x)); -} - -const ConferenceDescriptionType::FreeTextOptional &ConferenceDescriptionType::getFreeText() const { - return this->free_text_; -} - -ConferenceDescriptionType::FreeTextOptional &ConferenceDescriptionType::getFreeText() { - return this->free_text_; -} - -void ConferenceDescriptionType::setFreeText(const FreeTextType &x) { - this->free_text_.set(x); -} - -void ConferenceDescriptionType::setFreeText(const FreeTextOptional &x) { - this->free_text_ = x; -} - -void ConferenceDescriptionType::setFreeText(::std::unique_ptr<FreeTextType> x) { - this->free_text_.set(std::move(x)); -} - -const ConferenceDescriptionType::KeywordsOptional &ConferenceDescriptionType::getKeywords() const { - return this->keywords_; -} - -ConferenceDescriptionType::KeywordsOptional &ConferenceDescriptionType::getKeywords() { - return this->keywords_; -} - -void ConferenceDescriptionType::setKeywords(const KeywordsType &x) { - this->keywords_.set(x); -} - -void ConferenceDescriptionType::setKeywords(const KeywordsOptional &x) { - this->keywords_ = x; -} - -void ConferenceDescriptionType::setKeywords(::std::unique_ptr<KeywordsType> x) { - this->keywords_.set(std::move(x)); -} - -const ConferenceDescriptionType::ConfUrisOptional &ConferenceDescriptionType::getConfUris() const { - return this->conf_uris_; -} - -ConferenceDescriptionType::ConfUrisOptional &ConferenceDescriptionType::getConfUris() { - return this->conf_uris_; -} - -void ConferenceDescriptionType::setConfUris(const ConfUrisType &x) { - this->conf_uris_.set(x); -} - -void ConferenceDescriptionType::setConfUris(const ConfUrisOptional &x) { - this->conf_uris_ = x; -} - -void ConferenceDescriptionType::setConfUris(::std::unique_ptr<ConfUrisType> x) { - this->conf_uris_.set(std::move(x)); -} - -const ConferenceDescriptionType::ServiceUrisOptional &ConferenceDescriptionType::getServiceUris() const { - return this->service_uris_; -} - -ConferenceDescriptionType::ServiceUrisOptional &ConferenceDescriptionType::getServiceUris() { - return this->service_uris_; -} - -void ConferenceDescriptionType::setServiceUris(const ServiceUrisType &x) { - this->service_uris_.set(x); -} - -void ConferenceDescriptionType::setServiceUris(const ServiceUrisOptional &x) { - this->service_uris_ = x; -} - -void ConferenceDescriptionType::setServiceUris(::std::unique_ptr<ServiceUrisType> x) { - this->service_uris_.set(std::move(x)); -} - -const ConferenceDescriptionType::MaximumUserCountOptional &ConferenceDescriptionType::getMaximumUserCount() const { - return this->maximum_user_count_; -} - -ConferenceDescriptionType::MaximumUserCountOptional &ConferenceDescriptionType::getMaximumUserCount() { - return this->maximum_user_count_; -} - -void ConferenceDescriptionType::setMaximumUserCount(const MaximumUserCountType &x) { - this->maximum_user_count_.set(x); -} - -void ConferenceDescriptionType::setMaximumUserCount(const MaximumUserCountOptional &x) { - this->maximum_user_count_ = x; -} - -const ConferenceDescriptionType::AvailableMediaOptional &ConferenceDescriptionType::getAvailableMedia() const { - return this->available_media_; -} - -ConferenceDescriptionType::AvailableMediaOptional &ConferenceDescriptionType::getAvailableMedia() { - return this->available_media_; -} - -void ConferenceDescriptionType::setAvailableMedia(const AvailableMediaType &x) { - this->available_media_.set(x); -} - -void ConferenceDescriptionType::setAvailableMedia(const AvailableMediaOptional &x) { - this->available_media_ = x; -} - -void ConferenceDescriptionType::setAvailableMedia(::std::unique_ptr<AvailableMediaType> x) { - this->available_media_.set(std::move(x)); -} - -const ConferenceDescriptionType::AnySequence &ConferenceDescriptionType::getAny() const { - return this->any_; -} - -ConferenceDescriptionType::AnySequence &ConferenceDescriptionType::getAny() { - return this->any_; -} - -void ConferenceDescriptionType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ConferenceDescriptionType::AnyAttributeSet &ConferenceDescriptionType::getAnyAttribute() const { - return this->any_attribute_; -} - -ConferenceDescriptionType::AnyAttributeSet &ConferenceDescriptionType::getAnyAttribute() { - return this->any_attribute_; -} - -void ConferenceDescriptionType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ConferenceDescriptionType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ConferenceDescriptionType::getDomDocument() { - return *this->dom_document_; -} - -// HostType -// - -const HostType::DisplayTextOptional &HostType::getDisplayText() const { - return this->display_text_; -} - -HostType::DisplayTextOptional &HostType::getDisplayText() { - return this->display_text_; -} - -void HostType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void HostType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void HostType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const HostType::WebPageOptional &HostType::getWebPage() const { - return this->web_page_; -} - -HostType::WebPageOptional &HostType::getWebPage() { - return this->web_page_; -} - -void HostType::setWebPage(const WebPageType &x) { - this->web_page_.set(x); -} - -void HostType::setWebPage(const WebPageOptional &x) { - this->web_page_ = x; -} - -void HostType::setWebPage(::std::unique_ptr<WebPageType> x) { - this->web_page_.set(std::move(x)); -} - -const HostType::UrisOptional &HostType::getUris() const { - return this->uris_; -} - -HostType::UrisOptional &HostType::getUris() { - return this->uris_; -} - -void HostType::setUris(const UrisType &x) { - this->uris_.set(x); -} - -void HostType::setUris(const UrisOptional &x) { - this->uris_ = x; -} - -void HostType::setUris(::std::unique_ptr<UrisType> x) { - this->uris_.set(std::move(x)); -} - -const HostType::AnySequence &HostType::getAny() const { - return this->any_; -} - -HostType::AnySequence &HostType::getAny() { - return this->any_; -} - -void HostType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const HostType::AnyAttributeSet &HostType::getAnyAttribute() const { - return this->any_attribute_; -} - -HostType::AnyAttributeSet &HostType::getAnyAttribute() { - return this->any_attribute_; -} - -void HostType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &HostType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &HostType::getDomDocument() { - return *this->dom_document_; -} - -// ConferenceStateType -// - -const ConferenceStateType::UserCountOptional &ConferenceStateType::getUserCount() const { - return this->user_count_; -} - -ConferenceStateType::UserCountOptional &ConferenceStateType::getUserCount() { - return this->user_count_; -} - -void ConferenceStateType::setUserCount(const UserCountType &x) { - this->user_count_.set(x); -} - -void ConferenceStateType::setUserCount(const UserCountOptional &x) { - this->user_count_ = x; -} - -const ConferenceStateType::ActiveOptional &ConferenceStateType::getActive() const { - return this->active_; -} - -ConferenceStateType::ActiveOptional &ConferenceStateType::getActive() { - return this->active_; -} - -void ConferenceStateType::setActive(const ActiveType &x) { - this->active_.set(x); -} - -void ConferenceStateType::setActive(const ActiveOptional &x) { - this->active_ = x; -} - -const ConferenceStateType::LockedOptional &ConferenceStateType::getLocked() const { - return this->locked_; -} - -ConferenceStateType::LockedOptional &ConferenceStateType::getLocked() { - return this->locked_; -} - -void ConferenceStateType::setLocked(const LockedType &x) { - this->locked_.set(x); -} - -void ConferenceStateType::setLocked(const LockedOptional &x) { - this->locked_ = x; -} - -const ConferenceStateType::AnySequence &ConferenceStateType::getAny() const { - return this->any_; -} - -ConferenceStateType::AnySequence &ConferenceStateType::getAny() { - return this->any_; -} - -void ConferenceStateType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ConferenceStateType::AnyAttributeSet &ConferenceStateType::getAnyAttribute() const { - return this->any_attribute_; -} - -ConferenceStateType::AnyAttributeSet &ConferenceStateType::getAnyAttribute() { - return this->any_attribute_; -} - -void ConferenceStateType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ConferenceStateType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ConferenceStateType::getDomDocument() { - return *this->dom_document_; -} - -// ConferenceMediaType -// - -const ConferenceMediaType::EntrySequence &ConferenceMediaType::getEntry() const { - return this->entry_; -} - -ConferenceMediaType::EntrySequence &ConferenceMediaType::getEntry() { - return this->entry_; -} - -void ConferenceMediaType::setEntry(const EntrySequence &s) { - this->entry_ = s; -} - -const ConferenceMediaType::AnyAttributeSet &ConferenceMediaType::getAnyAttribute() const { - return this->any_attribute_; -} - -ConferenceMediaType::AnyAttributeSet &ConferenceMediaType::getAnyAttribute() { - return this->any_attribute_; -} - -void ConferenceMediaType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ConferenceMediaType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ConferenceMediaType::getDomDocument() { - return *this->dom_document_; -} - -// ConferenceMediumType -// - -const ConferenceMediumType::DisplayTextOptional &ConferenceMediumType::getDisplayText() const { - return this->display_text_; -} - -ConferenceMediumType::DisplayTextOptional &ConferenceMediumType::getDisplayText() { - return this->display_text_; -} - -void ConferenceMediumType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void ConferenceMediumType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void ConferenceMediumType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const ConferenceMediumType::TypeType &ConferenceMediumType::getType() const { - return this->type_.get(); -} - -ConferenceMediumType::TypeType &ConferenceMediumType::getType() { - return this->type_.get(); -} - -void ConferenceMediumType::setType(const TypeType &x) { - this->type_.set(x); -} - -void ConferenceMediumType::setType(::std::unique_ptr<TypeType> x) { - this->type_.set(std::move(x)); -} - -::std::unique_ptr<ConferenceMediumType::TypeType> ConferenceMediumType::setDetachType() { - return this->type_.detach(); -} - -const ConferenceMediumType::StatusOptional &ConferenceMediumType::getStatus() const { - return this->status_; -} - -ConferenceMediumType::StatusOptional &ConferenceMediumType::getStatus() { - return this->status_; -} - -void ConferenceMediumType::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void ConferenceMediumType::setStatus(const StatusOptional &x) { - this->status_ = x; -} - -void ConferenceMediumType::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -const ConferenceMediumType::AnySequence &ConferenceMediumType::getAny() const { - return this->any_; -} - -ConferenceMediumType::AnySequence &ConferenceMediumType::getAny() { - return this->any_; -} - -void ConferenceMediumType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ConferenceMediumType::LabelType &ConferenceMediumType::getLabel() const { - return this->label_.get(); -} - -ConferenceMediumType::LabelType &ConferenceMediumType::getLabel() { - return this->label_.get(); -} - -void ConferenceMediumType::setLabel(const LabelType &x) { - this->label_.set(x); -} - -void ConferenceMediumType::setLabel(::std::unique_ptr<LabelType> x) { - this->label_.set(std::move(x)); -} - -::std::unique_ptr<ConferenceMediumType::LabelType> ConferenceMediumType::setDetachLabel() { - return this->label_.detach(); -} - -const ConferenceMediumType::AnyAttributeSet &ConferenceMediumType::getAnyAttribute() const { - return this->any_attribute_; -} - -ConferenceMediumType::AnyAttributeSet &ConferenceMediumType::getAnyAttribute() { - return this->any_attribute_; -} - -void ConferenceMediumType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ConferenceMediumType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ConferenceMediumType::getDomDocument() { - return *this->dom_document_; -} - -// UrisType -// - -const UrisType::EntrySequence &UrisType::getEntry() const { - return this->entry_; -} - -UrisType::EntrySequence &UrisType::getEntry() { - return this->entry_; -} - -void UrisType::setEntry(const EntrySequence &s) { - this->entry_ = s; -} - -const UrisType::StateType &UrisType::getState() const { - return this->state_.get(); -} - -UrisType::StateType &UrisType::getState() { - return this->state_.get(); -} - -void UrisType::setState(const StateType &x) { - this->state_.set(x); -} - -void UrisType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<UrisType::StateType> UrisType::setDetachState() { - return this->state_.detach(); -} - -const UrisType::StateType &UrisType::getStateDefaultValue() { - return state_default_value_; -} - -const UrisType::AnyAttributeSet &UrisType::getAnyAttribute() const { - return this->any_attribute_; -} - -UrisType::AnyAttributeSet &UrisType::getAnyAttribute() { - return this->any_attribute_; -} - -void UrisType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &UrisType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &UrisType::getDomDocument() { - return *this->dom_document_; -} - -// UriType -// - -const UriType::UriType1 &UriType::getUri() const { - return this->uri_.get(); -} - -UriType::UriType1 &UriType::getUri() { - return this->uri_.get(); -} - -void UriType::setUri(const UriType1 &x) { - this->uri_.set(x); -} - -void UriType::setUri(::std::unique_ptr<UriType1> x) { - this->uri_.set(std::move(x)); -} - -::std::unique_ptr<UriType::UriType1> UriType::setDetachUri() { - return this->uri_.detach(); -} - -const UriType::DisplayTextOptional &UriType::getDisplayText() const { - return this->display_text_; -} - -UriType::DisplayTextOptional &UriType::getDisplayText() { - return this->display_text_; -} - -void UriType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void UriType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void UriType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const UriType::PurposeOptional &UriType::getPurpose() const { - return this->purpose_; -} - -UriType::PurposeOptional &UriType::getPurpose() { - return this->purpose_; -} - -void UriType::setPurpose(const PurposeType &x) { - this->purpose_.set(x); -} - -void UriType::setPurpose(const PurposeOptional &x) { - this->purpose_ = x; -} - -void UriType::setPurpose(::std::unique_ptr<PurposeType> x) { - this->purpose_.set(std::move(x)); -} - -const UriType::ModifiedOptional &UriType::getModified() const { - return this->modified_; -} - -UriType::ModifiedOptional &UriType::getModified() { - return this->modified_; -} - -void UriType::setModified(const ModifiedType &x) { - this->modified_.set(x); -} - -void UriType::setModified(const ModifiedOptional &x) { - this->modified_ = x; -} - -void UriType::setModified(::std::unique_ptr<ModifiedType> x) { - this->modified_.set(std::move(x)); -} - -const UriType::AnySequence &UriType::getAny() const { - return this->any_; -} - -UriType::AnySequence &UriType::getAny() { - return this->any_; -} - -void UriType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const UriType::AnyAttributeSet &UriType::getAnyAttribute() const { - return this->any_attribute_; -} - -UriType::AnyAttributeSet &UriType::getAnyAttribute() { - return this->any_attribute_; -} - -void UriType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &UriType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &UriType::getDomDocument() { - return *this->dom_document_; -} - -// KeywordsType -// - -KeywordsType::KeywordsType() : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(this) { -} - -KeywordsType::KeywordsType(size_type n, const ::LinphonePrivate::Xsd::XmlSchema::String &x) - : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(n, x, this) { -} - -KeywordsType::KeywordsType(const KeywordsType &o, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(o, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(o, f, this) { -} - -// UsersType -// - -const UsersType::UserSequence &UsersType::getUser() const { - return this->user_; -} - -UsersType::UserSequence &UsersType::getUser() { - return this->user_; -} - -void UsersType::setUser(const UserSequence &s) { - this->user_ = s; -} - -const UsersType::AnySequence &UsersType::getAny() const { - return this->any_; -} - -UsersType::AnySequence &UsersType::getAny() { - return this->any_; -} - -void UsersType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const UsersType::StateType &UsersType::getState() const { - return this->state_.get(); -} - -UsersType::StateType &UsersType::getState() { - return this->state_.get(); -} - -void UsersType::setState(const StateType &x) { - this->state_.set(x); -} - -void UsersType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<UsersType::StateType> UsersType::setDetachState() { - return this->state_.detach(); -} - -const UsersType::StateType &UsersType::getStateDefaultValue() { - return state_default_value_; -} - -const UsersType::AnyAttributeSet &UsersType::getAnyAttribute() const { - return this->any_attribute_; -} - -UsersType::AnyAttributeSet &UsersType::getAnyAttribute() { - return this->any_attribute_; -} - -void UsersType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &UsersType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &UsersType::getDomDocument() { - return *this->dom_document_; -} - -// UserType -// - -const UserType::DisplayTextOptional &UserType::getDisplayText() const { - return this->display_text_; -} - -UserType::DisplayTextOptional &UserType::getDisplayText() { - return this->display_text_; -} - -void UserType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void UserType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void UserType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const UserType::AssociatedAorsOptional &UserType::getAssociatedAors() const { - return this->associated_aors_; -} - -UserType::AssociatedAorsOptional &UserType::getAssociatedAors() { - return this->associated_aors_; -} - -void UserType::setAssociatedAors(const AssociatedAorsType &x) { - this->associated_aors_.set(x); -} - -void UserType::setAssociatedAors(const AssociatedAorsOptional &x) { - this->associated_aors_ = x; -} - -void UserType::setAssociatedAors(::std::unique_ptr<AssociatedAorsType> x) { - this->associated_aors_.set(std::move(x)); -} - -const UserType::RolesOptional &UserType::getRoles() const { - return this->roles_; -} - -UserType::RolesOptional &UserType::getRoles() { - return this->roles_; -} - -void UserType::setRoles(const RolesType &x) { - this->roles_.set(x); -} - -void UserType::setRoles(const RolesOptional &x) { - this->roles_ = x; -} - -void UserType::setRoles(::std::unique_ptr<RolesType> x) { - this->roles_.set(std::move(x)); -} - -const UserType::LanguagesOptional &UserType::getLanguages() const { - return this->languages_; -} - -UserType::LanguagesOptional &UserType::getLanguages() { - return this->languages_; -} - -void UserType::setLanguages(const LanguagesType &x) { - this->languages_.set(x); -} - -void UserType::setLanguages(const LanguagesOptional &x) { - this->languages_ = x; -} - -void UserType::setLanguages(::std::unique_ptr<LanguagesType> x) { - this->languages_.set(std::move(x)); -} - -const UserType::CascadedFocusOptional &UserType::getCascadedFocus() const { - return this->cascaded_focus_; -} - -UserType::CascadedFocusOptional &UserType::getCascadedFocus() { - return this->cascaded_focus_; -} - -void UserType::setCascadedFocus(const CascadedFocusType &x) { - this->cascaded_focus_.set(x); -} - -void UserType::setCascadedFocus(const CascadedFocusOptional &x) { - this->cascaded_focus_ = x; -} - -void UserType::setCascadedFocus(::std::unique_ptr<CascadedFocusType> x) { - this->cascaded_focus_.set(std::move(x)); -} - -const UserType::EndpointSequence &UserType::getEndpoint() const { - return this->endpoint_; -} - -UserType::EndpointSequence &UserType::getEndpoint() { - return this->endpoint_; -} - -void UserType::setEndpoint(const EndpointSequence &s) { - this->endpoint_ = s; -} - -const UserType::AnySequence &UserType::getAny() const { - return this->any_; -} - -UserType::AnySequence &UserType::getAny() { - return this->any_; -} - -void UserType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const UserType::EntityOptional &UserType::getEntity() const { - return this->entity_; -} - -UserType::EntityOptional &UserType::getEntity() { - return this->entity_; -} - -void UserType::setEntity(const EntityType &x) { - this->entity_.set(x); -} - -void UserType::setEntity(const EntityOptional &x) { - this->entity_ = x; -} - -void UserType::setEntity(::std::unique_ptr<EntityType> x) { - this->entity_.set(std::move(x)); -} - -const UserType::StateType &UserType::getState() const { - return this->state_.get(); -} - -UserType::StateType &UserType::getState() { - return this->state_.get(); -} - -void UserType::setState(const StateType &x) { - this->state_.set(x); -} - -void UserType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<UserType::StateType> UserType::setDetachState() { - return this->state_.detach(); -} - -const UserType::StateType &UserType::getStateDefaultValue() { - return state_default_value_; -} - -const UserType::AnyAttributeSet &UserType::getAnyAttribute() const { - return this->any_attribute_; -} - -UserType::AnyAttributeSet &UserType::getAnyAttribute() { - return this->any_attribute_; -} - -void UserType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &UserType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &UserType::getDomDocument() { - return *this->dom_document_; -} - -// UserRolesType -// - -const UserRolesType::EntrySequence &UserRolesType::getEntry() const { - return this->entry_; -} - -UserRolesType::EntrySequence &UserRolesType::getEntry() { - return this->entry_; -} - -void UserRolesType::setEntry(const EntrySequence &s) { - this->entry_ = s; -} - -const UserRolesType::AnyAttributeSet &UserRolesType::getAnyAttribute() const { - return this->any_attribute_; -} - -UserRolesType::AnyAttributeSet &UserRolesType::getAnyAttribute() { - return this->any_attribute_; -} - -void UserRolesType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &UserRolesType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &UserRolesType::getDomDocument() { - return *this->dom_document_; -} - -// UserLanguagesType -// - -UserLanguagesType::UserLanguagesType() - : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(this) { -} - -UserLanguagesType::UserLanguagesType(size_type n, const ::LinphonePrivate::Xsd::XmlSchema::Language &x) - : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(n, x, this) { -} - -UserLanguagesType::UserLanguagesType(const UserLanguagesType &o, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(o, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(o, f, this) { -} - -// EndpointType -// - -const EndpointType::DisplayTextOptional &EndpointType::getDisplayText() const { - return this->display_text_; -} - -EndpointType::DisplayTextOptional &EndpointType::getDisplayText() { - return this->display_text_; -} - -void EndpointType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void EndpointType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void EndpointType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const EndpointType::ReferredOptional &EndpointType::getReferred() const { - return this->referred_; -} - -EndpointType::ReferredOptional &EndpointType::getReferred() { - return this->referred_; -} - -void EndpointType::setReferred(const ReferredType &x) { - this->referred_.set(x); -} - -void EndpointType::setReferred(const ReferredOptional &x) { - this->referred_ = x; -} - -void EndpointType::setReferred(::std::unique_ptr<ReferredType> x) { - this->referred_.set(std::move(x)); -} - -const EndpointType::StatusOptional &EndpointType::getStatus() const { - return this->status_; -} - -EndpointType::StatusOptional &EndpointType::getStatus() { - return this->status_; -} - -void EndpointType::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void EndpointType::setStatus(const StatusOptional &x) { - this->status_ = x; -} - -void EndpointType::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -const EndpointType::JoiningMethodOptional &EndpointType::getJoiningMethod() const { - return this->joining_method_; -} - -EndpointType::JoiningMethodOptional &EndpointType::getJoiningMethod() { - return this->joining_method_; -} - -void EndpointType::setJoiningMethod(const JoiningMethodType &x) { - this->joining_method_.set(x); -} - -void EndpointType::setJoiningMethod(const JoiningMethodOptional &x) { - this->joining_method_ = x; -} - -void EndpointType::setJoiningMethod(::std::unique_ptr<JoiningMethodType> x) { - this->joining_method_.set(std::move(x)); -} - -const EndpointType::JoiningInfoOptional &EndpointType::getJoiningInfo() const { - return this->joining_info_; -} - -EndpointType::JoiningInfoOptional &EndpointType::getJoiningInfo() { - return this->joining_info_; -} - -void EndpointType::setJoiningInfo(const JoiningInfoType &x) { - this->joining_info_.set(x); -} - -void EndpointType::setJoiningInfo(const JoiningInfoOptional &x) { - this->joining_info_ = x; -} - -void EndpointType::setJoiningInfo(::std::unique_ptr<JoiningInfoType> x) { - this->joining_info_.set(std::move(x)); -} - -const EndpointType::DisconnectionMethodOptional &EndpointType::getDisconnectionMethod() const { - return this->disconnection_method_; -} - -EndpointType::DisconnectionMethodOptional &EndpointType::getDisconnectionMethod() { - return this->disconnection_method_; -} - -void EndpointType::setDisconnectionMethod(const DisconnectionMethodType &x) { - this->disconnection_method_.set(x); -} - -void EndpointType::setDisconnectionMethod(const DisconnectionMethodOptional &x) { - this->disconnection_method_ = x; -} - -void EndpointType::setDisconnectionMethod(::std::unique_ptr<DisconnectionMethodType> x) { - this->disconnection_method_.set(std::move(x)); -} - -const EndpointType::DisconnectionInfoOptional &EndpointType::getDisconnectionInfo() const { - return this->disconnection_info_; -} - -EndpointType::DisconnectionInfoOptional &EndpointType::getDisconnectionInfo() { - return this->disconnection_info_; -} - -void EndpointType::setDisconnectionInfo(const DisconnectionInfoType &x) { - this->disconnection_info_.set(x); -} - -void EndpointType::setDisconnectionInfo(const DisconnectionInfoOptional &x) { - this->disconnection_info_ = x; -} - -void EndpointType::setDisconnectionInfo(::std::unique_ptr<DisconnectionInfoType> x) { - this->disconnection_info_.set(std::move(x)); -} - -const EndpointType::MediaSequence &EndpointType::getMedia() const { - return this->media_; -} - -EndpointType::MediaSequence &EndpointType::getMedia() { - return this->media_; -} - -void EndpointType::setMedia(const MediaSequence &s) { - this->media_ = s; -} - -const EndpointType::CallInfoOptional &EndpointType::getCallInfo() const { - return this->call_info_; -} - -EndpointType::CallInfoOptional &EndpointType::getCallInfo() { - return this->call_info_; -} - -void EndpointType::setCallInfo(const CallInfoType &x) { - this->call_info_.set(x); -} - -void EndpointType::setCallInfo(const CallInfoOptional &x) { - this->call_info_ = x; -} - -void EndpointType::setCallInfo(::std::unique_ptr<CallInfoType> x) { - this->call_info_.set(std::move(x)); -} - -const EndpointType::AnySequence &EndpointType::getAny() const { - return this->any_; -} - -EndpointType::AnySequence &EndpointType::getAny() { - return this->any_; -} - -void EndpointType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const EndpointType::EntityOptional &EndpointType::getEntity() const { - return this->entity_; -} - -EndpointType::EntityOptional &EndpointType::getEntity() { - return this->entity_; -} - -void EndpointType::setEntity(const EntityType &x) { - this->entity_.set(x); -} - -void EndpointType::setEntity(const EntityOptional &x) { - this->entity_ = x; -} - -void EndpointType::setEntity(::std::unique_ptr<EntityType> x) { - this->entity_.set(std::move(x)); -} - -const EndpointType::StateType &EndpointType::getState() const { - return this->state_.get(); -} - -EndpointType::StateType &EndpointType::getState() { - return this->state_.get(); -} - -void EndpointType::setState(const StateType &x) { - this->state_.set(x); -} - -void EndpointType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<EndpointType::StateType> EndpointType::setDetachState() { - return this->state_.detach(); -} - -const EndpointType::StateType &EndpointType::getStateDefaultValue() { - return state_default_value_; -} - -const EndpointType::AnyAttributeSet &EndpointType::getAnyAttribute() const { - return this->any_attribute_; -} - -EndpointType::AnyAttributeSet &EndpointType::getAnyAttribute() { - return this->any_attribute_; -} - -void EndpointType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &EndpointType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &EndpointType::getDomDocument() { - return *this->dom_document_; -} - -// EndpointStatusType -// - -EndpointStatusType::EndpointStatusType(Value v) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_EndpointStatusType_literals_[v]) { -} - -EndpointStatusType::EndpointStatusType(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -EndpointStatusType::EndpointStatusType(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -EndpointStatusType::EndpointStatusType(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -EndpointStatusType::EndpointStatusType(const EndpointStatusType &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -EndpointStatusType &EndpointStatusType::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_EndpointStatusType_literals_[v]); - - return *this; -} - -// JoiningType -// - -JoiningType::JoiningType(Value v) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_JoiningType_literals_[v]) { -} - -JoiningType::JoiningType(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -JoiningType::JoiningType(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -JoiningType::JoiningType(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -JoiningType::JoiningType(const JoiningType &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -JoiningType &JoiningType::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_JoiningType_literals_[v]); - - return *this; -} - -// DisconnectionType -// - -DisconnectionType::DisconnectionType(Value v) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_DisconnectionType_literals_[v]) { -} - -DisconnectionType::DisconnectionType(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -DisconnectionType::DisconnectionType(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -DisconnectionType::DisconnectionType(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -DisconnectionType::DisconnectionType(const DisconnectionType &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -DisconnectionType &DisconnectionType::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_DisconnectionType_literals_[v]); - - return *this; -} - -// ExecutionType -// - -const ExecutionType::WhenOptional &ExecutionType::getWhen() const { - return this->when_; -} - -ExecutionType::WhenOptional &ExecutionType::getWhen() { - return this->when_; -} - -void ExecutionType::setWhen(const WhenType &x) { - this->when_.set(x); -} - -void ExecutionType::setWhen(const WhenOptional &x) { - this->when_ = x; -} - -void ExecutionType::setWhen(::std::unique_ptr<WhenType> x) { - this->when_.set(std::move(x)); -} - -const ExecutionType::ReasonOptional &ExecutionType::getReason() const { - return this->reason_; -} - -ExecutionType::ReasonOptional &ExecutionType::getReason() { - return this->reason_; -} - -void ExecutionType::setReason(const ReasonType &x) { - this->reason_.set(x); -} - -void ExecutionType::setReason(const ReasonOptional &x) { - this->reason_ = x; -} - -void ExecutionType::setReason(::std::unique_ptr<ReasonType> x) { - this->reason_.set(std::move(x)); -} - -const ExecutionType::ByOptional &ExecutionType::getBy() const { - return this->by_; -} - -ExecutionType::ByOptional &ExecutionType::getBy() { - return this->by_; -} - -void ExecutionType::setBy(const ByType &x) { - this->by_.set(x); -} - -void ExecutionType::setBy(const ByOptional &x) { - this->by_ = x; -} - -void ExecutionType::setBy(::std::unique_ptr<ByType> x) { - this->by_.set(std::move(x)); -} - -const ExecutionType::AnyAttributeSet &ExecutionType::getAnyAttribute() const { - return this->any_attribute_; -} - -ExecutionType::AnyAttributeSet &ExecutionType::getAnyAttribute() { - return this->any_attribute_; -} - -void ExecutionType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ExecutionType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ExecutionType::getDomDocument() { - return *this->dom_document_; -} - -// CallType -// - -const CallType::SipOptional &CallType::getSip() const { - return this->sip_; -} - -CallType::SipOptional &CallType::getSip() { - return this->sip_; -} - -void CallType::setSip(const SipType &x) { - this->sip_.set(x); -} - -void CallType::setSip(const SipOptional &x) { - this->sip_ = x; -} - -void CallType::setSip(::std::unique_ptr<SipType> x) { - this->sip_.set(std::move(x)); -} - -const CallType::AnySequence &CallType::getAny() const { - return this->any_; -} - -CallType::AnySequence &CallType::getAny() { - return this->any_; -} - -void CallType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const CallType::AnyAttributeSet &CallType::getAnyAttribute() const { - return this->any_attribute_; -} - -CallType::AnyAttributeSet &CallType::getAnyAttribute() { - return this->any_attribute_; -} - -void CallType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &CallType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &CallType::getDomDocument() { - return *this->dom_document_; -} - -// SipDialogIdType -// - -const SipDialogIdType::DisplayTextOptional &SipDialogIdType::getDisplayText() const { - return this->display_text_; -} - -SipDialogIdType::DisplayTextOptional &SipDialogIdType::getDisplayText() { - return this->display_text_; -} - -void SipDialogIdType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void SipDialogIdType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void SipDialogIdType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const SipDialogIdType::CallIdType &SipDialogIdType::getCallId() const { - return this->call_id_.get(); -} - -SipDialogIdType::CallIdType &SipDialogIdType::getCallId() { - return this->call_id_.get(); -} - -void SipDialogIdType::setCallId(const CallIdType &x) { - this->call_id_.set(x); -} - -void SipDialogIdType::setCallId(::std::unique_ptr<CallIdType> x) { - this->call_id_.set(std::move(x)); -} - -::std::unique_ptr<SipDialogIdType::CallIdType> SipDialogIdType::setDetachCall_id() { - return this->call_id_.detach(); -} - -const SipDialogIdType::FromTagType &SipDialogIdType::getFromTag() const { - return this->from_tag_.get(); -} - -SipDialogIdType::FromTagType &SipDialogIdType::getFromTag() { - return this->from_tag_.get(); -} - -void SipDialogIdType::setFromTag(const FromTagType &x) { - this->from_tag_.set(x); -} - -void SipDialogIdType::setFromTag(::std::unique_ptr<FromTagType> x) { - this->from_tag_.set(std::move(x)); -} - -::std::unique_ptr<SipDialogIdType::FromTagType> SipDialogIdType::setDetachFrom_tag() { - return this->from_tag_.detach(); -} - -const SipDialogIdType::ToTagType &SipDialogIdType::getToTag() const { - return this->to_tag_.get(); -} - -SipDialogIdType::ToTagType &SipDialogIdType::getToTag() { - return this->to_tag_.get(); -} - -void SipDialogIdType::setToTag(const ToTagType &x) { - this->to_tag_.set(x); -} - -void SipDialogIdType::setToTag(::std::unique_ptr<ToTagType> x) { - this->to_tag_.set(std::move(x)); -} - -::std::unique_ptr<SipDialogIdType::ToTagType> SipDialogIdType::setDetachTo_tag() { - return this->to_tag_.detach(); -} - -const SipDialogIdType::AnySequence &SipDialogIdType::getAny() const { - return this->any_; -} - -SipDialogIdType::AnySequence &SipDialogIdType::getAny() { - return this->any_; -} - -void SipDialogIdType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const SipDialogIdType::AnyAttributeSet &SipDialogIdType::getAnyAttribute() const { - return this->any_attribute_; -} - -SipDialogIdType::AnyAttributeSet &SipDialogIdType::getAnyAttribute() { - return this->any_attribute_; -} - -void SipDialogIdType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &SipDialogIdType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &SipDialogIdType::getDomDocument() { - return *this->dom_document_; -} - -// MediaType -// - -const MediaType::DisplayTextOptional &MediaType::getDisplayText() const { - return this->display_text_; -} - -MediaType::DisplayTextOptional &MediaType::getDisplayText() { - return this->display_text_; -} - -void MediaType::setDisplayText(const DisplayTextType &x) { - this->display_text_.set(x); -} - -void MediaType::setDisplayText(const DisplayTextOptional &x) { - this->display_text_ = x; -} - -void MediaType::setDisplayText(::std::unique_ptr<DisplayTextType> x) { - this->display_text_.set(std::move(x)); -} - -const MediaType::TypeOptional &MediaType::getType() const { - return this->type_; -} - -MediaType::TypeOptional &MediaType::getType() { - return this->type_; -} - -void MediaType::setType(const TypeType &x) { - this->type_.set(x); -} - -void MediaType::setType(const TypeOptional &x) { - this->type_ = x; -} - -void MediaType::setType(::std::unique_ptr<TypeType> x) { - this->type_.set(std::move(x)); -} - -const MediaType::LabelOptional &MediaType::getLabel() const { - return this->label_; -} - -MediaType::LabelOptional &MediaType::getLabel() { - return this->label_; -} - -void MediaType::setLabel(const LabelType &x) { - this->label_.set(x); -} - -void MediaType::setLabel(const LabelOptional &x) { - this->label_ = x; -} - -void MediaType::setLabel(::std::unique_ptr<LabelType> x) { - this->label_.set(std::move(x)); -} - -const MediaType::SrcIdOptional &MediaType::getSrcId() const { - return this->src_id_; -} - -MediaType::SrcIdOptional &MediaType::getSrcId() { - return this->src_id_; -} - -void MediaType::setSrcId(const SrcIdType &x) { - this->src_id_.set(x); -} - -void MediaType::setSrcId(const SrcIdOptional &x) { - this->src_id_ = x; -} - -void MediaType::setSrcId(::std::unique_ptr<SrcIdType> x) { - this->src_id_.set(std::move(x)); -} - -const MediaType::StatusOptional &MediaType::getStatus() const { - return this->status_; -} - -MediaType::StatusOptional &MediaType::getStatus() { - return this->status_; -} - -void MediaType::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void MediaType::setStatus(const StatusOptional &x) { - this->status_ = x; -} - -void MediaType::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -const MediaType::AnySequence &MediaType::getAny() const { - return this->any_; -} - -MediaType::AnySequence &MediaType::getAny() { - return this->any_; -} - -void MediaType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const MediaType::IdType &MediaType::getId() const { - return this->id_.get(); -} - -MediaType::IdType &MediaType::getId() { - return this->id_.get(); -} - -void MediaType::setId(const IdType &x) { - this->id_.set(x); -} - -void MediaType::setId(::std::unique_ptr<IdType> x) { - this->id_.set(std::move(x)); -} - -::std::unique_ptr<MediaType::IdType> MediaType::setDetachId() { - return this->id_.detach(); -} - -const MediaType::AnyAttributeSet &MediaType::getAnyAttribute() const { - return this->any_attribute_; -} - -MediaType::AnyAttributeSet &MediaType::getAnyAttribute() { - return this->any_attribute_; -} - -void MediaType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &MediaType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &MediaType::getDomDocument() { - return *this->dom_document_; -} - -// MediaStatusType -// - -MediaStatusType::MediaStatusType(Value v) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_MediaStatusType_literals_[v]) { -} - -MediaStatusType::MediaStatusType(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -MediaStatusType::MediaStatusType(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -MediaStatusType::MediaStatusType(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -MediaStatusType::MediaStatusType(const MediaStatusType &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -MediaStatusType &MediaStatusType::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_MediaStatusType_literals_[v]); - - return *this; -} - -// SidebarsByValType -// - -const SidebarsByValType::EntrySequence &SidebarsByValType::getEntry() const { - return this->entry_; -} - -SidebarsByValType::EntrySequence &SidebarsByValType::getEntry() { - return this->entry_; -} - -void SidebarsByValType::setEntry(const EntrySequence &s) { - this->entry_ = s; -} - -const SidebarsByValType::StateType &SidebarsByValType::getState() const { - return this->state_.get(); -} - -SidebarsByValType::StateType &SidebarsByValType::getState() { - return this->state_.get(); -} - -void SidebarsByValType::setState(const StateType &x) { - this->state_.set(x); -} - -void SidebarsByValType::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<SidebarsByValType::StateType> SidebarsByValType::setDetachState() { - return this->state_.detach(); -} - -const SidebarsByValType::StateType &SidebarsByValType::getStateDefaultValue() { - return state_default_value_; -} - -const SidebarsByValType::AnyAttributeSet &SidebarsByValType::getAnyAttribute() const { - return this->any_attribute_; -} - -SidebarsByValType::AnyAttributeSet &SidebarsByValType::getAnyAttribute() { - return this->any_attribute_; -} - -void SidebarsByValType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &SidebarsByValType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &SidebarsByValType::getDomDocument() { - return *this->dom_document_; -} -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate - -#include <xsd/cxx/xml/dom/wildcard-source.hxx> - -#include <xsd/cxx/xml/dom/parsing-source.hxx> - -#include <xsd/cxx/tree/type-factory-map.hxx> - -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -// ConferenceType -// - -const ConferenceType::StateType ConferenceType::state_default_value_("full"); - -ConferenceType::ConferenceType(const EntityType &entity) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - conference_description_(this), host_info_(this), conference_state_(this), users_(this), sidebars_by_ref_(this), - sidebars_by_val_(this), any_(this->getDomDocument()), entity_(entity, this), state_(getStateDefaultValue(), this), - version_(this), any_attribute_(this->getDomDocument()) { -} - -ConferenceType::ConferenceType(const ConferenceType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - conference_description_(x.conference_description_, f, this), host_info_(x.host_info_, f, this), - conference_state_(x.conference_state_, f, this), users_(x.users_, f, this), - sidebars_by_ref_(x.sidebars_by_ref_, f, this), sidebars_by_val_(x.sidebars_by_val_, f, this), - any_(x.any_, this->getDomDocument()), entity_(x.entity_, f, this), state_(x.state_, f, this), - version_(x.version_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ConferenceType::ConferenceType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), conference_description_(this), host_info_(this), - conference_state_(this), users_(this), sidebars_by_ref_(this), sidebars_by_val_(this), - any_(this->getDomDocument()), entity_(this), state_(this), version_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ConferenceType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // conference-description - // - if (n.name() == "conference-description" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ConferenceDescriptionType> r(ConferenceDescriptionTraits::create(i, f, this)); - - if (!this->conference_description_) { - this->conference_description_.set(::std::move(r)); - continue; - } - } - - // host-info - // - if (n.name() == "host-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<HostInfoType> r(HostInfoTraits::create(i, f, this)); - - if (!this->host_info_) { - this->host_info_.set(::std::move(r)); - continue; - } - } - - // conference-state - // - if (n.name() == "conference-state" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ConferenceStateType> r(ConferenceStateTraits::create(i, f, this)); - - if (!this->conference_state_) { - this->conference_state_.set(::std::move(r)); - continue; - } - } - - // users - // - if (n.name() == "users" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<UsersType> r(UsersTraits::create(i, f, this)); - - if (!this->users_) { - this->users_.set(::std::move(r)); - continue; - } - } - - // sidebars-by-ref - // - if (n.name() == "sidebars-by-ref" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<SidebarsByRefType> r(SidebarsByRefTraits::create(i, f, this)); - - if (!this->sidebars_by_ref_) { - this->sidebars_by_ref_.set(::std::move(r)); - continue; - } - } - - // sidebars-by-val - // - if (n.name() == "sidebars-by-val" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<SidebarsByValType> r(SidebarsByValTraits::create(i, f, this)); - - if (!this->sidebars_by_val_) { - this->sidebars_by_val_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "entity" && n.namespace_().empty()) { - this->entity_.set(EntityTraits::create(i, f, this)); - continue; - } - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - if (n.name() == "version" && n.namespace_().empty()) { - this->version_.set(VersionTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!entity_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("entity", ""); - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -ConferenceType *ConferenceType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ConferenceType(*this, f, c); -} - -ConferenceType &ConferenceType::operator=(const ConferenceType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->conference_description_ = x.conference_description_; - this->host_info_ = x.host_info_; - this->conference_state_ = x.conference_state_; - this->users_ = x.users_; - this->sidebars_by_ref_ = x.sidebars_by_ref_; - this->sidebars_by_val_ = x.sidebars_by_val_; - this->any_ = x.any_; - this->entity_ = x.entity_; - this->state_ = x.state_; - this->version_ = x.version_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ConferenceType::~ConferenceType() { -} - -// StateType -// - -StateType::StateType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_StateType_convert(); -} - -StateType::StateType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_StateType_convert(); -} - -StateType::StateType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_StateType_convert(); -} - -StateType *StateType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class StateType(*this, f, c); -} - -StateType::Value StateType::_xsd_StateType_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_StateType_literals_); - const Value *i(::std::lower_bound(_xsd_StateType_indexes_, _xsd_StateType_indexes_ + 3, *this, c)); - - if (i == _xsd_StateType_indexes_ + 3 || _xsd_StateType_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const StateType::_xsd_StateType_literals_[3] = {"full", "partial", "deleted"}; - -const StateType::Value StateType::_xsd_StateType_indexes_[3] = { - ::LinphonePrivate::Xsd::ConferenceInfo::StateType::deleted, ::LinphonePrivate::Xsd::ConferenceInfo::StateType::full, - ::LinphonePrivate::Xsd::ConferenceInfo::StateType::partial}; - -// ConferenceDescriptionType -// - -ConferenceDescriptionType::ConferenceDescriptionType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), subject_(this), free_text_(this), keywords_(this), conf_uris_(this), service_uris_(this), - maximum_user_count_(this), available_media_(this), any_(this->getDomDocument()), - any_attribute_(this->getDomDocument()) { -} - -ConferenceDescriptionType::ConferenceDescriptionType(const ConferenceDescriptionType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), subject_(x.subject_, f, this), free_text_(x.free_text_, f, this), - keywords_(x.keywords_, f, this), conf_uris_(x.conf_uris_, f, this), service_uris_(x.service_uris_, f, this), - maximum_user_count_(x.maximum_user_count_, f, this), available_media_(x.available_media_, f, this), - any_(x.any_, this->getDomDocument()), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ConferenceDescriptionType::ConferenceDescriptionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), subject_(this), - free_text_(this), keywords_(this), conf_uris_(this), service_uris_(this), maximum_user_count_(this), - available_media_(this), any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ConferenceDescriptionType::parse(::xsd::cxx::xml::dom::parser<char> &p, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // subject - // - if (n.name() == "subject" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<SubjectType> r(SubjectTraits::create(i, f, this)); - - if (!this->subject_) { - this->subject_.set(::std::move(r)); - continue; - } - } - - // free-text - // - if (n.name() == "free-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<FreeTextType> r(FreeTextTraits::create(i, f, this)); - - if (!this->free_text_) { - this->free_text_.set(::std::move(r)); - continue; - } - } - - // keywords - // - if (n.name() == "keywords" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<KeywordsType> r(KeywordsTraits::create(i, f, this)); - - if (!this->keywords_) { - this->keywords_.set(::std::move(r)); - continue; - } - } - - // conf-uris - // - if (n.name() == "conf-uris" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ConfUrisType> r(ConfUrisTraits::create(i, f, this)); - - if (!this->conf_uris_) { - this->conf_uris_.set(::std::move(r)); - continue; - } - } - - // service-uris - // - if (n.name() == "service-uris" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ServiceUrisType> r(ServiceUrisTraits::create(i, f, this)); - - if (!this->service_uris_) { - this->service_uris_.set(::std::move(r)); - continue; - } - } - - // maximum-user-count - // - if (n.name() == "maximum-user-count" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - if (!this->maximum_user_count_) { - this->maximum_user_count_.set(MaximumUserCountTraits::create(i, f, this)); - continue; - } - } - - // available-media - // - if (n.name() == "available-media" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<AvailableMediaType> r(AvailableMediaTraits::create(i, f, this)); - - if (!this->available_media_) { - this->available_media_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ConferenceDescriptionType *ConferenceDescriptionType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ConferenceDescriptionType(*this, f, c); -} - -ConferenceDescriptionType &ConferenceDescriptionType::operator=(const ConferenceDescriptionType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->subject_ = x.subject_; - this->free_text_ = x.free_text_; - this->keywords_ = x.keywords_; - this->conf_uris_ = x.conf_uris_; - this->service_uris_ = x.service_uris_; - this->maximum_user_count_ = x.maximum_user_count_; - this->available_media_ = x.available_media_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ConferenceDescriptionType::~ConferenceDescriptionType() { -} - -// HostType -// - -HostType::HostType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), web_page_(this), uris_(this), any_(this->getDomDocument()), - any_attribute_(this->getDomDocument()) { -} - -HostType::HostType(const HostType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), web_page_(x.web_page_, f, this), uris_(x.uris_, f, this), - any_(x.any_, this->getDomDocument()), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -HostType::HostType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), web_page_(this), uris_(this), - any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void HostType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // web-page - // - if (n.name() == "web-page" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<WebPageType> r(WebPageTraits::create(i, f, this)); - - if (!this->web_page_) { - this->web_page_.set(::std::move(r)); - continue; - } - } - - // uris - // - if (n.name() == "uris" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<UrisType> r(UrisTraits::create(i, f, this)); - - if (!this->uris_) { - this->uris_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -HostType *HostType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class HostType(*this, f, c); -} - -HostType &HostType::operator=(const HostType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->web_page_ = x.web_page_; - this->uris_ = x.uris_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -HostType::~HostType() { -} - -// ConferenceStateType -// - -ConferenceStateType::ConferenceStateType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - user_count_(this), active_(this), locked_(this), any_(this->getDomDocument()), - any_attribute_(this->getDomDocument()) { -} - -ConferenceStateType::ConferenceStateType(const ConferenceStateType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - user_count_(x.user_count_, f, this), active_(x.active_, f, this), locked_(x.locked_, f, this), - any_(x.any_, this->getDomDocument()), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ConferenceStateType::ConferenceStateType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), user_count_(this), active_(this), locked_(this), - any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ConferenceStateType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // user-count - // - if (n.name() == "user-count" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - if (!this->user_count_) { - this->user_count_.set(UserCountTraits::create(i, f, this)); - continue; - } - } - - // active - // - if (n.name() == "active" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - if (!this->active_) { - this->active_.set(ActiveTraits::create(i, f, this)); - continue; - } - } - - // locked - // - if (n.name() == "locked" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - if (!this->locked_) { - this->locked_.set(LockedTraits::create(i, f, this)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ConferenceStateType *ConferenceStateType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ConferenceStateType(*this, f, c); -} - -ConferenceStateType &ConferenceStateType::operator=(const ConferenceStateType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->user_count_ = x.user_count_; - this->active_ = x.active_; - this->locked_ = x.locked_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ConferenceStateType::~ConferenceStateType() { -} - -// ConferenceMediaType -// - -ConferenceMediaType::ConferenceMediaType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(this), any_attribute_(this->getDomDocument()) { -} - -ConferenceMediaType::ConferenceMediaType(const ConferenceMediaType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(x.entry_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ConferenceMediaType::ConferenceMediaType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), entry_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ConferenceMediaType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // entry - // - if (n.name() == "entry" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<EntryType> r(EntryTraits::create(i, f, this)); - - this->entry_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ConferenceMediaType *ConferenceMediaType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ConferenceMediaType(*this, f, c); -} - -ConferenceMediaType &ConferenceMediaType::operator=(const ConferenceMediaType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->entry_ = x.entry_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ConferenceMediaType::~ConferenceMediaType() { -} - -// ConferenceMediumType -// - -ConferenceMediumType::ConferenceMediumType(const TypeType &type, const LabelType &label) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), type_(type, this), status_(this), any_(this->getDomDocument()), label_(label, this), - any_attribute_(this->getDomDocument()) { -} - -ConferenceMediumType::ConferenceMediumType(const ConferenceMediumType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), type_(x.type_, f, this), status_(x.status_, f, this), - any_(x.any_, this->getDomDocument()), label_(x.label_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ConferenceMediumType::ConferenceMediumType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), type_(this), status_(this), - any_(this->getDomDocument()), label_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ConferenceMediumType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // type - // - if (n.name() == "type" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<TypeType> r(TypeTraits::create(i, f, this)); - - if (!type_.present()) { - this->type_.set(::std::move(r)); - continue; - } - } - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!this->status_) { - this->status_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!type_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("type", "urn:ietf:params:xml:ns:conference-info"); - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "label" && n.namespace_().empty()) { - this->label_.set(LabelTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!label_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("label", ""); - } -} - -ConferenceMediumType *ConferenceMediumType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ConferenceMediumType(*this, f, c); -} - -ConferenceMediumType &ConferenceMediumType::operator=(const ConferenceMediumType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->type_ = x.type_; - this->status_ = x.status_; - this->any_ = x.any_; - this->label_ = x.label_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ConferenceMediumType::~ConferenceMediumType() { -} - -// UrisType -// - -const UrisType::StateType UrisType::state_default_value_("full"); - -UrisType::UrisType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(this), state_(getStateDefaultValue(), this), any_attribute_(this->getDomDocument()) { -} - -UrisType::UrisType(const UrisType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(x.entry_, f, this), state_(x.state_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -UrisType::UrisType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), entry_(this), state_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void UrisType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // entry - // - if (n.name() == "entry" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<EntryType> r(EntryTraits::create(i, f, this)); - - this->entry_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -UrisType *UrisType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UrisType(*this, f, c); -} - -UrisType &UrisType::operator=(const UrisType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->entry_ = x.entry_; - this->state_ = x.state_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -UrisType::~UrisType() { -} - -// UriType -// - -UriType::UriType(const UriType1 &uri) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - uri_(uri, this), display_text_(this), purpose_(this), modified_(this), any_(this->getDomDocument()), - any_attribute_(this->getDomDocument()) { -} - -UriType::UriType(const UriType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - uri_(x.uri_, f, this), display_text_(x.display_text_, f, this), purpose_(x.purpose_, f, this), - modified_(x.modified_, f, this), any_(x.any_, this->getDomDocument()), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -UriType::UriType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), uri_(this), display_text_(this), purpose_(this), - modified_(this), any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void UriType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // uri - // - if (n.name() == "uri" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<UriType1> r(UriTraits::create(i, f, this)); - - if (!uri_.present()) { - this->uri_.set(::std::move(r)); - continue; - } - } - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // purpose - // - if (n.name() == "purpose" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<PurposeType> r(PurposeTraits::create(i, f, this)); - - if (!this->purpose_) { - this->purpose_.set(::std::move(r)); - continue; - } - } - - // modified - // - if (n.name() == "modified" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ModifiedType> r(ModifiedTraits::create(i, f, this)); - - if (!this->modified_) { - this->modified_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!uri_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("uri", "urn:ietf:params:xml:ns:conference-info"); - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -UriType *UriType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UriType(*this, f, c); -} - -UriType &UriType::operator=(const UriType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->uri_ = x.uri_; - this->display_text_ = x.display_text_; - this->purpose_ = x.purpose_; - this->modified_ = x.modified_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -UriType::~UriType() { -} - -// KeywordsType -// - -KeywordsType::KeywordsType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(e, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(e, f, this) { -} - -KeywordsType::KeywordsType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(a, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(a, f, this) { -} - -KeywordsType::KeywordsType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(s, e, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(s, e, f, this) { -} - -KeywordsType *KeywordsType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class KeywordsType(*this, f, c); -} - -KeywordsType::~KeywordsType() { -} - -// UsersType -// - -const UsersType::StateType UsersType::state_default_value_("full"); - -UsersType::UsersType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - user_(this), any_(this->getDomDocument()), state_(getStateDefaultValue(), this), - any_attribute_(this->getDomDocument()) { -} - -UsersType::UsersType(const UsersType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - user_(x.user_, f, this), any_(x.any_, this->getDomDocument()), state_(x.state_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -UsersType::UsersType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), user_(this), any_(this->getDomDocument()), - state_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void UsersType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // user - // - if (n.name() == "user" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<UserType> r(UserTraits::create(i, f, this)); - - this->user_.push_back(::std::move(r)); - continue; - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -UsersType *UsersType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UsersType(*this, f, c); -} - -UsersType &UsersType::operator=(const UsersType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->user_ = x.user_; - this->any_ = x.any_; - this->state_ = x.state_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -UsersType::~UsersType() { -} - -// UserType -// - -const UserType::StateType UserType::state_default_value_("full"); - -UserType::UserType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), associated_aors_(this), roles_(this), languages_(this), cascaded_focus_(this), - endpoint_(this), any_(this->getDomDocument()), entity_(this), state_(getStateDefaultValue(), this), - any_attribute_(this->getDomDocument()) { -} - -UserType::UserType(const UserType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), associated_aors_(x.associated_aors_, f, this), roles_(x.roles_, f, this), - languages_(x.languages_, f, this), cascaded_focus_(x.cascaded_focus_, f, this), endpoint_(x.endpoint_, f, this), - any_(x.any_, this->getDomDocument()), entity_(x.entity_, f, this), state_(x.state_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -UserType::UserType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), associated_aors_(this), - roles_(this), languages_(this), cascaded_focus_(this), endpoint_(this), any_(this->getDomDocument()), - entity_(this), state_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void UserType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // associated-aors - // - if (n.name() == "associated-aors" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<AssociatedAorsType> r(AssociatedAorsTraits::create(i, f, this)); - - if (!this->associated_aors_) { - this->associated_aors_.set(::std::move(r)); - continue; - } - } - - // roles - // - if (n.name() == "roles" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<RolesType> r(RolesTraits::create(i, f, this)); - - if (!this->roles_) { - this->roles_.set(::std::move(r)); - continue; - } - } - - // languages - // - if (n.name() == "languages" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<LanguagesType> r(LanguagesTraits::create(i, f, this)); - - if (!this->languages_) { - this->languages_.set(::std::move(r)); - continue; - } - } - - // cascaded-focus - // - if (n.name() == "cascaded-focus" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<CascadedFocusType> r(CascadedFocusTraits::create(i, f, this)); - - if (!this->cascaded_focus_) { - this->cascaded_focus_.set(::std::move(r)); - continue; - } - } - - // endpoint - // - if (n.name() == "endpoint" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<EndpointType> r(EndpointTraits::create(i, f, this)); - - this->endpoint_.push_back(::std::move(r)); - continue; - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "entity" && n.namespace_().empty()) { - this->entity_.set(EntityTraits::create(i, f, this)); - continue; - } - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -UserType *UserType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UserType(*this, f, c); -} - -UserType &UserType::operator=(const UserType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->associated_aors_ = x.associated_aors_; - this->roles_ = x.roles_; - this->languages_ = x.languages_; - this->cascaded_focus_ = x.cascaded_focus_; - this->endpoint_ = x.endpoint_; - this->any_ = x.any_; - this->entity_ = x.entity_; - this->state_ = x.state_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -UserType::~UserType() { -} - -// UserRolesType -// - -UserRolesType::UserRolesType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(this), any_attribute_(this->getDomDocument()) { -} - -UserRolesType::UserRolesType(const UserRolesType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(x.entry_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -UserRolesType::UserRolesType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), entry_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void UserRolesType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // entry - // - if (n.name() == "entry" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<EntryType> r(EntryTraits::create(i, f, this)); - - this->entry_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -UserRolesType *UserRolesType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UserRolesType(*this, f, c); -} - -UserRolesType &UserRolesType::operator=(const UserRolesType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->entry_ = x.entry_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -UserRolesType::~UserRolesType() { -} - -// UserLanguagesType -// - -UserLanguagesType::UserLanguagesType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(e, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(e, f, this) { -} - -UserLanguagesType::UserLanguagesType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(a, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(a, f, this) { -} - -UserLanguagesType::UserLanguagesType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::SimpleType(s, e, f, c), - ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(s, e, f, this) { -} - -UserLanguagesType *UserLanguagesType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class UserLanguagesType(*this, f, c); -} - -UserLanguagesType::~UserLanguagesType() { -} - -// EndpointType -// - -const EndpointType::StateType EndpointType::state_default_value_("full"); - -EndpointType::EndpointType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), referred_(this), status_(this), joining_method_(this), joining_info_(this), - disconnection_method_(this), disconnection_info_(this), media_(this), call_info_(this), - any_(this->getDomDocument()), entity_(this), state_(getStateDefaultValue(), this), - any_attribute_(this->getDomDocument()) { -} - -EndpointType::EndpointType(const EndpointType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), referred_(x.referred_, f, this), status_(x.status_, f, this), - joining_method_(x.joining_method_, f, this), joining_info_(x.joining_info_, f, this), - disconnection_method_(x.disconnection_method_, f, this), disconnection_info_(x.disconnection_info_, f, this), - media_(x.media_, f, this), call_info_(x.call_info_, f, this), any_(x.any_, this->getDomDocument()), - entity_(x.entity_, f, this), state_(x.state_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -EndpointType::EndpointType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), referred_(this), status_(this), - joining_method_(this), joining_info_(this), disconnection_method_(this), disconnection_info_(this), media_(this), - call_info_(this), any_(this->getDomDocument()), entity_(this), state_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void EndpointType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // referred - // - if (n.name() == "referred" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ReferredType> r(ReferredTraits::create(i, f, this)); - - if (!this->referred_) { - this->referred_.set(::std::move(r)); - continue; - } - } - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!this->status_) { - this->status_.set(::std::move(r)); - continue; - } - } - - // joining-method - // - if (n.name() == "joining-method" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<JoiningMethodType> r(JoiningMethodTraits::create(i, f, this)); - - if (!this->joining_method_) { - this->joining_method_.set(::std::move(r)); - continue; - } - } - - // joining-info - // - if (n.name() == "joining-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<JoiningInfoType> r(JoiningInfoTraits::create(i, f, this)); - - if (!this->joining_info_) { - this->joining_info_.set(::std::move(r)); - continue; - } - } - - // disconnection-method - // - if (n.name() == "disconnection-method" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisconnectionMethodType> r(DisconnectionMethodTraits::create(i, f, this)); - - if (!this->disconnection_method_) { - this->disconnection_method_.set(::std::move(r)); - continue; - } - } - - // disconnection-info - // - if (n.name() == "disconnection-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisconnectionInfoType> r(DisconnectionInfoTraits::create(i, f, this)); - - if (!this->disconnection_info_) { - this->disconnection_info_.set(::std::move(r)); - continue; - } - } - - // media - // - if (n.name() == "media" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<MediaType> r(MediaTraits::create(i, f, this)); - - this->media_.push_back(::std::move(r)); - continue; - } - - // call-info - // - if (n.name() == "call-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<CallInfoType> r(CallInfoTraits::create(i, f, this)); - - if (!this->call_info_) { - this->call_info_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "entity" && n.namespace_().empty()) { - this->entity_.set(EntityTraits::create(i, f, this)); - continue; - } - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -EndpointType *EndpointType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class EndpointType(*this, f, c); -} - -EndpointType &EndpointType::operator=(const EndpointType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->referred_ = x.referred_; - this->status_ = x.status_; - this->joining_method_ = x.joining_method_; - this->joining_info_ = x.joining_info_; - this->disconnection_method_ = x.disconnection_method_; - this->disconnection_info_ = x.disconnection_info_; - this->media_ = x.media_; - this->call_info_ = x.call_info_; - this->any_ = x.any_; - this->entity_ = x.entity_; - this->state_ = x.state_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -EndpointType::~EndpointType() { -} - -// EndpointStatusType -// - -EndpointStatusType::EndpointStatusType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_EndpointStatusType_convert(); -} - -EndpointStatusType::EndpointStatusType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_EndpointStatusType_convert(); -} - -EndpointStatusType::EndpointStatusType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_EndpointStatusType_convert(); -} - -EndpointStatusType *EndpointStatusType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class EndpointStatusType(*this, f, c); -} - -EndpointStatusType::Value EndpointStatusType::_xsd_EndpointStatusType_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_EndpointStatusType_literals_); - const Value *i( - ::std::lower_bound(_xsd_EndpointStatusType_indexes_, _xsd_EndpointStatusType_indexes_ + 9, *this, c)); - - if (i == _xsd_EndpointStatusType_indexes_ + 9 || _xsd_EndpointStatusType_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const EndpointStatusType::_xsd_EndpointStatusType_literals_[9] = { - "pending", "dialing-out", "dialing-in", "alerting", "on-hold", - "connected", "muted-via-focus", "disconnecting", "disconnected"}; - -const EndpointStatusType::Value EndpointStatusType::_xsd_EndpointStatusType_indexes_[9] = { - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::alerting, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::connected, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::dialing_in, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::dialing_out, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::disconnected, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::disconnecting, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::muted_via_focus, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::on_hold, - ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::pending}; - -// JoiningType -// - -JoiningType::JoiningType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_JoiningType_convert(); -} - -JoiningType::JoiningType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_JoiningType_convert(); -} - -JoiningType::JoiningType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_JoiningType_convert(); -} - -JoiningType *JoiningType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class JoiningType(*this, f, c); -} - -JoiningType::Value JoiningType::_xsd_JoiningType_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_JoiningType_literals_); - const Value *i(::std::lower_bound(_xsd_JoiningType_indexes_, _xsd_JoiningType_indexes_ + 3, *this, c)); - - if (i == _xsd_JoiningType_indexes_ + 3 || _xsd_JoiningType_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const JoiningType::_xsd_JoiningType_literals_[3] = {"dialed-in", "dialed-out", "focus-owner"}; - -const JoiningType::Value JoiningType::_xsd_JoiningType_indexes_[3] = { - ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::dialed_in, - ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::dialed_out, - ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::focus_owner}; - -// DisconnectionType -// - -DisconnectionType::DisconnectionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_DisconnectionType_convert(); -} - -DisconnectionType::DisconnectionType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_DisconnectionType_convert(); -} - -DisconnectionType::DisconnectionType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_DisconnectionType_convert(); -} - -DisconnectionType *DisconnectionType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class DisconnectionType(*this, f, c); -} - -DisconnectionType::Value DisconnectionType::_xsd_DisconnectionType_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_DisconnectionType_literals_); - const Value *i(::std::lower_bound(_xsd_DisconnectionType_indexes_, _xsd_DisconnectionType_indexes_ + 4, *this, c)); - - if (i == _xsd_DisconnectionType_indexes_ + 4 || _xsd_DisconnectionType_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const DisconnectionType::_xsd_DisconnectionType_literals_[4] = {"departed", "booted", "failed", "busy"}; - -const DisconnectionType::Value DisconnectionType::_xsd_DisconnectionType_indexes_[4] = { - ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::booted, - ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::busy, - ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::departed, - ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::failed}; - -// ExecutionType -// - -ExecutionType::ExecutionType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - when_(this), reason_(this), by_(this), any_attribute_(this->getDomDocument()) { -} - -ExecutionType::ExecutionType(const ExecutionType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - when_(x.when_, f, this), reason_(x.reason_, f, this), by_(x.by_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ExecutionType::ExecutionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), when_(this), reason_(this), by_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ExecutionType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // when - // - if (n.name() == "when" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<WhenType> r(WhenTraits::create(i, f, this)); - - if (!this->when_) { - this->when_.set(::std::move(r)); - continue; - } - } - - // reason - // - if (n.name() == "reason" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ReasonType> r(ReasonTraits::create(i, f, this)); - - if (!this->reason_) { - this->reason_.set(::std::move(r)); - continue; - } - } - - // by - // - if (n.name() == "by" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ByType> r(ByTraits::create(i, f, this)); - - if (!this->by_) { - this->by_.set(::std::move(r)); - continue; - } - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ExecutionType *ExecutionType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ExecutionType(*this, f, c); -} - -ExecutionType &ExecutionType::operator=(const ExecutionType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->when_ = x.when_; - this->reason_ = x.reason_; - this->by_ = x.by_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ExecutionType::~ExecutionType() { -} - -// CallType -// - -CallType::CallType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - sip_(this), any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { -} - -CallType::CallType(const CallType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - sip_(x.sip_, f, this), any_(x.any_, this->getDomDocument()), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -CallType::CallType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), sip_(this), any_(this->getDomDocument()), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void CallType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // sip - // - if (n.name() == "sip" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<SipType> r(SipTraits::create(i, f, this)); - - if (!this->sip_) { - this->sip_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -CallType *CallType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class CallType(*this, f, c); -} - -CallType &CallType::operator=(const CallType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->sip_ = x.sip_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -CallType::~CallType() { -} - -// SipDialogIdType -// - -SipDialogIdType::SipDialogIdType(const CallIdType &call_id, const FromTagType &from_tag, const ToTagType &to_tag) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), call_id_(call_id, this), from_tag_(from_tag, this), to_tag_(to_tag, this), - any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { -} - -SipDialogIdType::SipDialogIdType(const SipDialogIdType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), call_id_(x.call_id_, f, this), from_tag_(x.from_tag_, f, this), - to_tag_(x.to_tag_, f, this), any_(x.any_, this->getDomDocument()), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -SipDialogIdType::SipDialogIdType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), call_id_(this), - from_tag_(this), to_tag_(this), any_(this->getDomDocument()), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void SipDialogIdType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // call-id - // - if (n.name() == "call-id" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<CallIdType> r(CallIdTraits::create(i, f, this)); - - if (!call_id_.present()) { - this->call_id_.set(::std::move(r)); - continue; - } - } - - // from-tag - // - if (n.name() == "from-tag" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<FromTagType> r(FromTagTraits::create(i, f, this)); - - if (!from_tag_.present()) { - this->from_tag_.set(::std::move(r)); - continue; - } - } - - // to-tag - // - if (n.name() == "to-tag" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<ToTagType> r(ToTagTraits::create(i, f, this)); - - if (!to_tag_.present()) { - this->to_tag_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!call_id_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("call-id", "urn:ietf:params:xml:ns:conference-info"); - } - - if (!from_tag_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("from-tag", "urn:ietf:params:xml:ns:conference-info"); - } - - if (!to_tag_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("to-tag", "urn:ietf:params:xml:ns:conference-info"); - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -SipDialogIdType *SipDialogIdType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class SipDialogIdType(*this, f, c); -} - -SipDialogIdType &SipDialogIdType::operator=(const SipDialogIdType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->call_id_ = x.call_id_; - this->from_tag_ = x.from_tag_; - this->to_tag_ = x.to_tag_; - this->any_ = x.any_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -SipDialogIdType::~SipDialogIdType() { -} - -// MediaType -// - -MediaType::MediaType(const IdType &id) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(this), type_(this), label_(this), src_id_(this), status_(this), any_(this->getDomDocument()), - id_(id, this), any_attribute_(this->getDomDocument()) { -} - -MediaType::MediaType(const MediaType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_text_(x.display_text_, f, this), type_(x.type_, f, this), label_(x.label_, f, this), - src_id_(x.src_id_, f, this), status_(x.status_, f, this), any_(x.any_, this->getDomDocument()), - id_(x.id_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -MediaType::MediaType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_text_(this), type_(this), label_(this), - src_id_(this), status_(this), any_(this->getDomDocument()), id_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void MediaType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-text - // - if (n.name() == "display-text" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<DisplayTextType> r(DisplayTextTraits::create(i, f, this)); - - if (!this->display_text_) { - this->display_text_.set(::std::move(r)); - continue; - } - } - - // type - // - if (n.name() == "type" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<TypeType> r(TypeTraits::create(i, f, this)); - - if (!this->type_) { - this->type_.set(::std::move(r)); - continue; - } - } - - // label - // - if (n.name() == "label" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<LabelType> r(LabelTraits::create(i, f, this)); - - if (!this->label_) { - this->label_.set(::std::move(r)); - continue; - } - } - - // src-id - // - if (n.name() == "src-id" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<SrcIdType> r(SrcIdTraits::create(i, f, this)); - - if (!this->src_id_) { - this->src_id_.set(::std::move(r)); - continue; - } - } - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!this->status_) { - this->status_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "id" && n.namespace_().empty()) { - this->id_.set(IdTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!id_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("id", ""); - } -} - -MediaType *MediaType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class MediaType(*this, f, c); -} - -MediaType &MediaType::operator=(const MediaType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_text_ = x.display_text_; - this->type_ = x.type_; - this->label_ = x.label_; - this->src_id_ = x.src_id_; - this->status_ = x.status_; - this->any_ = x.any_; - this->id_ = x.id_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -MediaType::~MediaType() { -} - -// MediaStatusType -// - -MediaStatusType::MediaStatusType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_MediaStatusType_convert(); -} - -MediaStatusType::MediaStatusType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_MediaStatusType_convert(); -} - -MediaStatusType::MediaStatusType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_MediaStatusType_convert(); -} - -MediaStatusType *MediaStatusType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class MediaStatusType(*this, f, c); -} - -MediaStatusType::Value MediaStatusType::_xsd_MediaStatusType_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_MediaStatusType_literals_); - const Value *i(::std::lower_bound(_xsd_MediaStatusType_indexes_, _xsd_MediaStatusType_indexes_ + 4, *this, c)); - - if (i == _xsd_MediaStatusType_indexes_ + 4 || _xsd_MediaStatusType_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const MediaStatusType::_xsd_MediaStatusType_literals_[4] = {"recvonly", "sendonly", "sendrecv", "inactive"}; - -const MediaStatusType::Value MediaStatusType::_xsd_MediaStatusType_indexes_[4] = { - ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::inactive, - ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::recvonly, - ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::sendonly, - ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::sendrecv}; - -// SidebarsByValType -// - -const SidebarsByValType::StateType SidebarsByValType::state_default_value_("full"); - -SidebarsByValType::SidebarsByValType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(this), state_(getStateDefaultValue(), this), any_attribute_(this->getDomDocument()) { -} - -SidebarsByValType::SidebarsByValType(const SidebarsByValType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - entry_(x.entry_, f, this), state_(x.state_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -SidebarsByValType::SidebarsByValType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), entry_(this), state_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void SidebarsByValType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // entry - // - if (n.name() == "entry" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<EntryType> r(EntryTraits::create(i, f, this)); - - this->entry_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:conference-info" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!state_.present()) { - this->state_.set(getStateDefaultValue()); - } -} - -SidebarsByValType *SidebarsByValType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class SidebarsByValType(*this, f, c); -} - -SidebarsByValType &SidebarsByValType::operator=(const SidebarsByValType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->entry_ = x.entry_; - this->state_ = x.state_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -SidebarsByValType::~SidebarsByValType() { -} -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate - -#include <ostream> - -#include <xsd/cxx/tree/std-ostream-map.hxx> - -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -::std::ostream &operator<<(::std::ostream &o, const ConferenceType &i) { - if (i.getConferenceDescription()) { - o << ::std::endl << "conference-description: " << *i.getConferenceDescription(); - } - - if (i.getHostInfo()) { - o << ::std::endl << "host-info: " << *i.getHostInfo(); - } - - if (i.getConferenceState()) { - o << ::std::endl << "conference-state: " << *i.getConferenceState(); - } - - if (i.getUsers()) { - o << ::std::endl << "users: " << *i.getUsers(); - } - - if (i.getSidebarsByRef()) { - o << ::std::endl << "sidebars-by-ref: " << *i.getSidebarsByRef(); - } - - if (i.getSidebarsByVal()) { - o << ::std::endl << "sidebars-by-val: " << *i.getSidebarsByVal(); - } - - o << ::std::endl << "entity: " << i.getEntity(); - o << ::std::endl << "state: " << i.getState(); - if (i.getVersion()) { - o << ::std::endl << "version: " << *i.getVersion(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, StateType::Value i) { - return o << StateType::_xsd_StateType_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const StateType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const ConferenceDescriptionType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getSubject()) { - o << ::std::endl << "subject: " << *i.getSubject(); - } - - if (i.getFreeText()) { - o << ::std::endl << "free-text: " << *i.getFreeText(); - } - - if (i.getKeywords()) { - o << ::std::endl << "keywords: " << *i.getKeywords(); - } - - if (i.getConfUris()) { - o << ::std::endl << "conf-uris: " << *i.getConfUris(); - } - - if (i.getServiceUris()) { - o << ::std::endl << "service-uris: " << *i.getServiceUris(); - } - - if (i.getMaximumUserCount()) { - o << ::std::endl << "maximum-user-count: " << *i.getMaximumUserCount(); - } - - if (i.getAvailableMedia()) { - o << ::std::endl << "available-media: " << *i.getAvailableMedia(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const HostType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getWebPage()) { - o << ::std::endl << "web-page: " << *i.getWebPage(); - } - - if (i.getUris()) { - o << ::std::endl << "uris: " << *i.getUris(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ConferenceStateType &i) { - if (i.getUserCount()) { - o << ::std::endl << "user-count: " << *i.getUserCount(); - } - - if (i.getActive()) { - o << ::std::endl << "active: " << *i.getActive(); - } - - if (i.getLocked()) { - o << ::std::endl << "locked: " << *i.getLocked(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ConferenceMediaType &i) { - for (ConferenceMediaType::EntryConstIterator b(i.getEntry().begin()), e(i.getEntry().end()); b != e; ++b) { - o << ::std::endl << "entry: " << *b; - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ConferenceMediumType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - o << ::std::endl << "type: " << i.getType(); - if (i.getStatus()) { - o << ::std::endl << "status: " << *i.getStatus(); - } - - o << ::std::endl << "label: " << i.getLabel(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const UrisType &i) { - for (UrisType::EntryConstIterator b(i.getEntry().begin()), e(i.getEntry().end()); b != e; ++b) { - o << ::std::endl << "entry: " << *b; - } - - o << ::std::endl << "state: " << i.getState(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const UriType &i) { - o << ::std::endl << "uri: " << i.getUri(); - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getPurpose()) { - o << ::std::endl << "purpose: " << *i.getPurpose(); - } - - if (i.getModified()) { - o << ::std::endl << "modified: " << *i.getModified(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const KeywordsType &i) { - return o << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char> &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const UsersType &i) { - for (UsersType::UserConstIterator b(i.getUser().begin()), e(i.getUser().end()); b != e; ++b) { - o << ::std::endl << "user: " << *b; - } - - o << ::std::endl << "state: " << i.getState(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const UserType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getAssociatedAors()) { - o << ::std::endl << "associated-aors: " << *i.getAssociatedAors(); - } - - if (i.getRoles()) { - o << ::std::endl << "roles: " << *i.getRoles(); - } - - if (i.getLanguages()) { - o << ::std::endl << "languages: " << *i.getLanguages(); - } - - if (i.getCascadedFocus()) { - o << ::std::endl << "cascaded-focus: " << *i.getCascadedFocus(); - } - - for (UserType::EndpointConstIterator b(i.getEndpoint().begin()), e(i.getEndpoint().end()); b != e; ++b) { - o << ::std::endl << "endpoint: " << *b; - } - - if (i.getEntity()) { - o << ::std::endl << "entity: " << *i.getEntity(); - } - - o << ::std::endl << "state: " << i.getState(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const UserRolesType &i) { - for (UserRolesType::EntryConstIterator b(i.getEntry().begin()), e(i.getEntry().end()); b != e; ++b) { - o << ::std::endl << "entry: " << *b; - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const UserLanguagesType &i) { - return o << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char> &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const EndpointType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getReferred()) { - o << ::std::endl << "referred: " << *i.getReferred(); - } - - if (i.getStatus()) { - o << ::std::endl << "status: " << *i.getStatus(); - } - - if (i.getJoiningMethod()) { - o << ::std::endl << "joining-method: " << *i.getJoiningMethod(); - } - - if (i.getJoiningInfo()) { - o << ::std::endl << "joining-info: " << *i.getJoiningInfo(); - } - - if (i.getDisconnectionMethod()) { - o << ::std::endl << "disconnection-method: " << *i.getDisconnectionMethod(); - } - - if (i.getDisconnectionInfo()) { - o << ::std::endl << "disconnection-info: " << *i.getDisconnectionInfo(); - } - - for (EndpointType::MediaConstIterator b(i.getMedia().begin()), e(i.getMedia().end()); b != e; ++b) { - o << ::std::endl << "media: " << *b; - } - - if (i.getCallInfo()) { - o << ::std::endl << "call-info: " << *i.getCallInfo(); - } - - if (i.getEntity()) { - o << ::std::endl << "entity: " << *i.getEntity(); - } - - o << ::std::endl << "state: " << i.getState(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, EndpointStatusType::Value i) { - return o << EndpointStatusType::_xsd_EndpointStatusType_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const EndpointStatusType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, JoiningType::Value i) { - return o << JoiningType::_xsd_JoiningType_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const JoiningType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, DisconnectionType::Value i) { - return o << DisconnectionType::_xsd_DisconnectionType_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const DisconnectionType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const ExecutionType &i) { - if (i.getWhen()) { - o << ::std::endl << "when: " << *i.getWhen(); - } - - if (i.getReason()) { - o << ::std::endl << "reason: " << *i.getReason(); - } - - if (i.getBy()) { - o << ::std::endl << "by: " << *i.getBy(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const CallType &i) { - if (i.getSip()) { - o << ::std::endl << "sip: " << *i.getSip(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const SipDialogIdType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - o << ::std::endl << "call-id: " << i.getCallId(); - o << ::std::endl << "from-tag: " << i.getFromTag(); - o << ::std::endl << "to-tag: " << i.getToTag(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const MediaType &i) { - if (i.getDisplayText()) { - o << ::std::endl << "display-text: " << *i.getDisplayText(); - } - - if (i.getType()) { - o << ::std::endl << "type: " << *i.getType(); - } - - if (i.getLabel()) { - o << ::std::endl << "label: " << *i.getLabel(); - } - - if (i.getSrcId()) { - o << ::std::endl << "src-id: " << *i.getSrcId(); - } - - if (i.getStatus()) { - o << ::std::endl << "status: " << *i.getStatus(); - } - - o << ::std::endl << "id: " << i.getId(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, MediaStatusType::Value i) { - return o << MediaStatusType::_xsd_MediaStatusType_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const MediaStatusType &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, const SidebarsByValType &i) { - for (SidebarsByValType::EntryConstIterator b(i.getEntry().begin()), e(i.getEntry().end()); b != e; ++b) { - o << ::std::endl << "entry: " << *b; - } - - o << ::std::endl << "state: " << i.getState(); - return o; -} -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate - -#include <istream> -#include <xsd/cxx/tree/error-handler.hxx> -#include <xsd/cxx/xml/sax/std-input-source.hxx> - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#endif +// +// End prologue. - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); +#include <xsd/cxx/pre.hxx> - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} +#include "conference-info.h" -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + // ConferenceType + // + + const ConferenceType::ConferenceDescriptionOptional& ConferenceType:: + getConferenceDescription () const + { + return this->conference_description_; + } + + ConferenceType::ConferenceDescriptionOptional& ConferenceType:: + getConferenceDescription () + { + return this->conference_description_; + } + + void ConferenceType:: + setConferenceDescription (const ConferenceDescriptionType& x) + { + this->conference_description_.set (x); + } + + void ConferenceType:: + setConferenceDescription (const ConferenceDescriptionOptional& x) + { + this->conference_description_ = x; + } + + void ConferenceType:: + setConferenceDescription (::std::unique_ptr< ConferenceDescriptionType > x) + { + this->conference_description_.set (std::move (x)); + } + + const ConferenceType::HostInfoOptional& ConferenceType:: + getHostInfo () const + { + return this->host_info_; + } + + ConferenceType::HostInfoOptional& ConferenceType:: + getHostInfo () + { + return this->host_info_; + } + + void ConferenceType:: + setHostInfo (const HostInfoType& x) + { + this->host_info_.set (x); + } + + void ConferenceType:: + setHostInfo (const HostInfoOptional& x) + { + this->host_info_ = x; + } + + void ConferenceType:: + setHostInfo (::std::unique_ptr< HostInfoType > x) + { + this->host_info_.set (std::move (x)); + } + + const ConferenceType::ConferenceStateOptional& ConferenceType:: + getConferenceState () const + { + return this->conference_state_; + } + + ConferenceType::ConferenceStateOptional& ConferenceType:: + getConferenceState () + { + return this->conference_state_; + } + + void ConferenceType:: + setConferenceState (const ConferenceStateType& x) + { + this->conference_state_.set (x); + } + + void ConferenceType:: + setConferenceState (const ConferenceStateOptional& x) + { + this->conference_state_ = x; + } + + void ConferenceType:: + setConferenceState (::std::unique_ptr< ConferenceStateType > x) + { + this->conference_state_.set (std::move (x)); + } + + const ConferenceType::UsersOptional& ConferenceType:: + getUsers () const + { + return this->users_; + } + + ConferenceType::UsersOptional& ConferenceType:: + getUsers () + { + return this->users_; + } + + void ConferenceType:: + setUsers (const UsersType& x) + { + this->users_.set (x); + } + + void ConferenceType:: + setUsers (const UsersOptional& x) + { + this->users_ = x; + } + + void ConferenceType:: + setUsers (::std::unique_ptr< UsersType > x) + { + this->users_.set (std::move (x)); + } + + const ConferenceType::SidebarsByRefOptional& ConferenceType:: + getSidebarsByRef () const + { + return this->sidebars_by_ref_; + } + + ConferenceType::SidebarsByRefOptional& ConferenceType:: + getSidebarsByRef () + { + return this->sidebars_by_ref_; + } + + void ConferenceType:: + setSidebarsByRef (const SidebarsByRefType& x) + { + this->sidebars_by_ref_.set (x); + } + + void ConferenceType:: + setSidebarsByRef (const SidebarsByRefOptional& x) + { + this->sidebars_by_ref_ = x; + } + + void ConferenceType:: + setSidebarsByRef (::std::unique_ptr< SidebarsByRefType > x) + { + this->sidebars_by_ref_.set (std::move (x)); + } + + const ConferenceType::SidebarsByValOptional& ConferenceType:: + getSidebarsByVal () const + { + return this->sidebars_by_val_; + } + + ConferenceType::SidebarsByValOptional& ConferenceType:: + getSidebarsByVal () + { + return this->sidebars_by_val_; + } + + void ConferenceType:: + setSidebarsByVal (const SidebarsByValType& x) + { + this->sidebars_by_val_.set (x); + } + + void ConferenceType:: + setSidebarsByVal (const SidebarsByValOptional& x) + { + this->sidebars_by_val_ = x; + } + + void ConferenceType:: + setSidebarsByVal (::std::unique_ptr< SidebarsByValType > x) + { + this->sidebars_by_val_.set (std::move (x)); + } + + const ConferenceType::AnySequence& ConferenceType:: + getAny () const + { + return this->any_; + } + + ConferenceType::AnySequence& ConferenceType:: + getAny () + { + return this->any_; + } + + void ConferenceType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ConferenceType::EntityType& ConferenceType:: + getEntity () const + { + return this->entity_.get (); + } + + ConferenceType::EntityType& ConferenceType:: + getEntity () + { + return this->entity_.get (); + } + + void ConferenceType:: + setEntity (const EntityType& x) + { + this->entity_.set (x); + } + + void ConferenceType:: + setEntity (::std::unique_ptr< EntityType > x) + { + this->entity_.set (std::move (x)); + } + + ::std::unique_ptr< ConferenceType::EntityType > ConferenceType:: + setDetachEntity () + { + return this->entity_.detach (); + } + + const ConferenceType::StateType& ConferenceType:: + getState () const + { + return this->state_.get (); + } + + ConferenceType::StateType& ConferenceType:: + getState () + { + return this->state_.get (); + } + + void ConferenceType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void ConferenceType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< ConferenceType::StateType > ConferenceType:: + setDetachState () + { + return this->state_.detach (); + } + + const ConferenceType::StateType& ConferenceType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const ConferenceType::VersionOptional& ConferenceType:: + getVersion () const + { + return this->version_; + } + + ConferenceType::VersionOptional& ConferenceType:: + getVersion () + { + return this->version_; + } + + void ConferenceType:: + setVersion (const VersionType& x) + { + this->version_.set (x); + } + + void ConferenceType:: + setVersion (const VersionOptional& x) + { + this->version_ = x; + } + + const ConferenceType::AnyAttributeSet& ConferenceType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ConferenceType::AnyAttributeSet& ConferenceType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ConferenceType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ConferenceType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ConferenceType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // StateType + // + + StateType:: + StateType (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_StateType_literals_[v]) + { + } + + StateType:: + StateType (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + StateType:: + StateType (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + StateType:: + StateType (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + StateType:: + StateType (const StateType& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + StateType& StateType:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_StateType_literals_[v]); + + return *this; + } + + + // ConferenceDescriptionType + // + + const ConferenceDescriptionType::DisplayTextOptional& ConferenceDescriptionType:: + getDisplayText () const + { + return this->display_text_; + } + + ConferenceDescriptionType::DisplayTextOptional& ConferenceDescriptionType:: + getDisplayText () + { + return this->display_text_; + } + + void ConferenceDescriptionType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void ConferenceDescriptionType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void ConferenceDescriptionType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const ConferenceDescriptionType::SubjectOptional& ConferenceDescriptionType:: + getSubject () const + { + return this->subject_; + } + + ConferenceDescriptionType::SubjectOptional& ConferenceDescriptionType:: + getSubject () + { + return this->subject_; + } + + void ConferenceDescriptionType:: + setSubject (const SubjectType& x) + { + this->subject_.set (x); + } + + void ConferenceDescriptionType:: + setSubject (const SubjectOptional& x) + { + this->subject_ = x; + } + + void ConferenceDescriptionType:: + setSubject (::std::unique_ptr< SubjectType > x) + { + this->subject_.set (std::move (x)); + } + + const ConferenceDescriptionType::FreeTextOptional& ConferenceDescriptionType:: + getFreeText () const + { + return this->free_text_; + } + + ConferenceDescriptionType::FreeTextOptional& ConferenceDescriptionType:: + getFreeText () + { + return this->free_text_; + } + + void ConferenceDescriptionType:: + setFreeText (const FreeTextType& x) + { + this->free_text_.set (x); + } + + void ConferenceDescriptionType:: + setFreeText (const FreeTextOptional& x) + { + this->free_text_ = x; + } + + void ConferenceDescriptionType:: + setFreeText (::std::unique_ptr< FreeTextType > x) + { + this->free_text_.set (std::move (x)); + } + + const ConferenceDescriptionType::KeywordsOptional& ConferenceDescriptionType:: + getKeywords () const + { + return this->keywords_; + } + + ConferenceDescriptionType::KeywordsOptional& ConferenceDescriptionType:: + getKeywords () + { + return this->keywords_; + } + + void ConferenceDescriptionType:: + setKeywords (const KeywordsType& x) + { + this->keywords_.set (x); + } + + void ConferenceDescriptionType:: + setKeywords (const KeywordsOptional& x) + { + this->keywords_ = x; + } + + void ConferenceDescriptionType:: + setKeywords (::std::unique_ptr< KeywordsType > x) + { + this->keywords_.set (std::move (x)); + } + + const ConferenceDescriptionType::ConfUrisOptional& ConferenceDescriptionType:: + getConfUris () const + { + return this->conf_uris_; + } + + ConferenceDescriptionType::ConfUrisOptional& ConferenceDescriptionType:: + getConfUris () + { + return this->conf_uris_; + } + + void ConferenceDescriptionType:: + setConfUris (const ConfUrisType& x) + { + this->conf_uris_.set (x); + } + + void ConferenceDescriptionType:: + setConfUris (const ConfUrisOptional& x) + { + this->conf_uris_ = x; + } + + void ConferenceDescriptionType:: + setConfUris (::std::unique_ptr< ConfUrisType > x) + { + this->conf_uris_.set (std::move (x)); + } + + const ConferenceDescriptionType::ServiceUrisOptional& ConferenceDescriptionType:: + getServiceUris () const + { + return this->service_uris_; + } + + ConferenceDescriptionType::ServiceUrisOptional& ConferenceDescriptionType:: + getServiceUris () + { + return this->service_uris_; + } + + void ConferenceDescriptionType:: + setServiceUris (const ServiceUrisType& x) + { + this->service_uris_.set (x); + } + + void ConferenceDescriptionType:: + setServiceUris (const ServiceUrisOptional& x) + { + this->service_uris_ = x; + } + + void ConferenceDescriptionType:: + setServiceUris (::std::unique_ptr< ServiceUrisType > x) + { + this->service_uris_.set (std::move (x)); + } + + const ConferenceDescriptionType::MaximumUserCountOptional& ConferenceDescriptionType:: + getMaximumUserCount () const + { + return this->maximum_user_count_; + } + + ConferenceDescriptionType::MaximumUserCountOptional& ConferenceDescriptionType:: + getMaximumUserCount () + { + return this->maximum_user_count_; + } + + void ConferenceDescriptionType:: + setMaximumUserCount (const MaximumUserCountType& x) + { + this->maximum_user_count_.set (x); + } + + void ConferenceDescriptionType:: + setMaximumUserCount (const MaximumUserCountOptional& x) + { + this->maximum_user_count_ = x; + } + + const ConferenceDescriptionType::AvailableMediaOptional& ConferenceDescriptionType:: + getAvailableMedia () const + { + return this->available_media_; + } + + ConferenceDescriptionType::AvailableMediaOptional& ConferenceDescriptionType:: + getAvailableMedia () + { + return this->available_media_; + } + + void ConferenceDescriptionType:: + setAvailableMedia (const AvailableMediaType& x) + { + this->available_media_.set (x); + } + + void ConferenceDescriptionType:: + setAvailableMedia (const AvailableMediaOptional& x) + { + this->available_media_ = x; + } + + void ConferenceDescriptionType:: + setAvailableMedia (::std::unique_ptr< AvailableMediaType > x) + { + this->available_media_.set (std::move (x)); + } + + const ConferenceDescriptionType::AnySequence& ConferenceDescriptionType:: + getAny () const + { + return this->any_; + } + + ConferenceDescriptionType::AnySequence& ConferenceDescriptionType:: + getAny () + { + return this->any_; + } + + void ConferenceDescriptionType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ConferenceDescriptionType::AnyAttributeSet& ConferenceDescriptionType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ConferenceDescriptionType::AnyAttributeSet& ConferenceDescriptionType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ConferenceDescriptionType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ConferenceDescriptionType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ConferenceDescriptionType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // HostType + // + + const HostType::DisplayTextOptional& HostType:: + getDisplayText () const + { + return this->display_text_; + } + + HostType::DisplayTextOptional& HostType:: + getDisplayText () + { + return this->display_text_; + } + + void HostType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void HostType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void HostType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const HostType::WebPageOptional& HostType:: + getWebPage () const + { + return this->web_page_; + } + + HostType::WebPageOptional& HostType:: + getWebPage () + { + return this->web_page_; + } + + void HostType:: + setWebPage (const WebPageType& x) + { + this->web_page_.set (x); + } + + void HostType:: + setWebPage (const WebPageOptional& x) + { + this->web_page_ = x; + } + + void HostType:: + setWebPage (::std::unique_ptr< WebPageType > x) + { + this->web_page_.set (std::move (x)); + } + + const HostType::UrisOptional& HostType:: + getUris () const + { + return this->uris_; + } + + HostType::UrisOptional& HostType:: + getUris () + { + return this->uris_; + } + + void HostType:: + setUris (const UrisType& x) + { + this->uris_.set (x); + } + + void HostType:: + setUris (const UrisOptional& x) + { + this->uris_ = x; + } + + void HostType:: + setUris (::std::unique_ptr< UrisType > x) + { + this->uris_.set (std::move (x)); + } + + const HostType::AnySequence& HostType:: + getAny () const + { + return this->any_; + } + + HostType::AnySequence& HostType:: + getAny () + { + return this->any_; + } + + void HostType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const HostType::AnyAttributeSet& HostType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + HostType::AnyAttributeSet& HostType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void HostType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& HostType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& HostType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // ConferenceStateType + // + + const ConferenceStateType::UserCountOptional& ConferenceStateType:: + getUserCount () const + { + return this->user_count_; + } + + ConferenceStateType::UserCountOptional& ConferenceStateType:: + getUserCount () + { + return this->user_count_; + } + + void ConferenceStateType:: + setUserCount (const UserCountType& x) + { + this->user_count_.set (x); + } + + void ConferenceStateType:: + setUserCount (const UserCountOptional& x) + { + this->user_count_ = x; + } + + const ConferenceStateType::ActiveOptional& ConferenceStateType:: + getActive () const + { + return this->active_; + } + + ConferenceStateType::ActiveOptional& ConferenceStateType:: + getActive () + { + return this->active_; + } + + void ConferenceStateType:: + setActive (const ActiveType& x) + { + this->active_.set (x); + } + + void ConferenceStateType:: + setActive (const ActiveOptional& x) + { + this->active_ = x; + } + + const ConferenceStateType::LockedOptional& ConferenceStateType:: + getLocked () const + { + return this->locked_; + } + + ConferenceStateType::LockedOptional& ConferenceStateType:: + getLocked () + { + return this->locked_; + } + + void ConferenceStateType:: + setLocked (const LockedType& x) + { + this->locked_.set (x); + } + + void ConferenceStateType:: + setLocked (const LockedOptional& x) + { + this->locked_ = x; + } + + const ConferenceStateType::AnySequence& ConferenceStateType:: + getAny () const + { + return this->any_; + } + + ConferenceStateType::AnySequence& ConferenceStateType:: + getAny () + { + return this->any_; + } + + void ConferenceStateType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ConferenceStateType::AnyAttributeSet& ConferenceStateType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ConferenceStateType::AnyAttributeSet& ConferenceStateType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ConferenceStateType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ConferenceStateType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ConferenceStateType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // ConferenceMediaType + // + + const ConferenceMediaType::EntrySequence& ConferenceMediaType:: + getEntry () const + { + return this->entry_; + } + + ConferenceMediaType::EntrySequence& ConferenceMediaType:: + getEntry () + { + return this->entry_; + } + + void ConferenceMediaType:: + setEntry (const EntrySequence& s) + { + this->entry_ = s; + } + + const ConferenceMediaType::AnyAttributeSet& ConferenceMediaType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ConferenceMediaType::AnyAttributeSet& ConferenceMediaType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ConferenceMediaType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ConferenceMediaType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ConferenceMediaType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // ConferenceMediumType + // + + const ConferenceMediumType::DisplayTextOptional& ConferenceMediumType:: + getDisplayText () const + { + return this->display_text_; + } + + ConferenceMediumType::DisplayTextOptional& ConferenceMediumType:: + getDisplayText () + { + return this->display_text_; + } + + void ConferenceMediumType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void ConferenceMediumType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void ConferenceMediumType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const ConferenceMediumType::TypeType& ConferenceMediumType:: + getType () const + { + return this->type_.get (); + } + + ConferenceMediumType::TypeType& ConferenceMediumType:: + getType () + { + return this->type_.get (); + } + + void ConferenceMediumType:: + setType (const TypeType& x) + { + this->type_.set (x); + } + + void ConferenceMediumType:: + setType (::std::unique_ptr< TypeType > x) + { + this->type_.set (std::move (x)); + } + + ::std::unique_ptr< ConferenceMediumType::TypeType > ConferenceMediumType:: + setDetachType () + { + return this->type_.detach (); + } + + const ConferenceMediumType::StatusOptional& ConferenceMediumType:: + getStatus () const + { + return this->status_; + } + + ConferenceMediumType::StatusOptional& ConferenceMediumType:: + getStatus () + { + return this->status_; + } + + void ConferenceMediumType:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void ConferenceMediumType:: + setStatus (const StatusOptional& x) + { + this->status_ = x; + } + + void ConferenceMediumType:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + const ConferenceMediumType::AnySequence& ConferenceMediumType:: + getAny () const + { + return this->any_; + } + + ConferenceMediumType::AnySequence& ConferenceMediumType:: + getAny () + { + return this->any_; + } + + void ConferenceMediumType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ConferenceMediumType::LabelType& ConferenceMediumType:: + getLabel () const + { + return this->label_.get (); + } + + ConferenceMediumType::LabelType& ConferenceMediumType:: + getLabel () + { + return this->label_.get (); + } + + void ConferenceMediumType:: + setLabel (const LabelType& x) + { + this->label_.set (x); + } + + void ConferenceMediumType:: + setLabel (::std::unique_ptr< LabelType > x) + { + this->label_.set (std::move (x)); + } + + ::std::unique_ptr< ConferenceMediumType::LabelType > ConferenceMediumType:: + setDetachLabel () + { + return this->label_.detach (); + } + + const ConferenceMediumType::AnyAttributeSet& ConferenceMediumType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ConferenceMediumType::AnyAttributeSet& ConferenceMediumType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ConferenceMediumType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ConferenceMediumType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ConferenceMediumType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // UrisType + // + + const UrisType::EntrySequence& UrisType:: + getEntry () const + { + return this->entry_; + } + + UrisType::EntrySequence& UrisType:: + getEntry () + { + return this->entry_; + } + + void UrisType:: + setEntry (const EntrySequence& s) + { + this->entry_ = s; + } + + const UrisType::StateType& UrisType:: + getState () const + { + return this->state_.get (); + } + + UrisType::StateType& UrisType:: + getState () + { + return this->state_.get (); + } + + void UrisType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void UrisType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< UrisType::StateType > UrisType:: + setDetachState () + { + return this->state_.detach (); + } + + const UrisType::StateType& UrisType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const UrisType::AnyAttributeSet& UrisType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + UrisType::AnyAttributeSet& UrisType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void UrisType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& UrisType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& UrisType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // UriType + // + + const UriType::UriType1& UriType:: + getUri () const + { + return this->uri_.get (); + } + + UriType::UriType1& UriType:: + getUri () + { + return this->uri_.get (); + } + + void UriType:: + setUri (const UriType1& x) + { + this->uri_.set (x); + } + + void UriType:: + setUri (::std::unique_ptr< UriType1 > x) + { + this->uri_.set (std::move (x)); + } + + ::std::unique_ptr< UriType::UriType1 > UriType:: + setDetachUri () + { + return this->uri_.detach (); + } + + const UriType::DisplayTextOptional& UriType:: + getDisplayText () const + { + return this->display_text_; + } + + UriType::DisplayTextOptional& UriType:: + getDisplayText () + { + return this->display_text_; + } + + void UriType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void UriType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void UriType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const UriType::PurposeOptional& UriType:: + getPurpose () const + { + return this->purpose_; + } + + UriType::PurposeOptional& UriType:: + getPurpose () + { + return this->purpose_; + } + + void UriType:: + setPurpose (const PurposeType& x) + { + this->purpose_.set (x); + } + + void UriType:: + setPurpose (const PurposeOptional& x) + { + this->purpose_ = x; + } + + void UriType:: + setPurpose (::std::unique_ptr< PurposeType > x) + { + this->purpose_.set (std::move (x)); + } + + const UriType::ModifiedOptional& UriType:: + getModified () const + { + return this->modified_; + } + + UriType::ModifiedOptional& UriType:: + getModified () + { + return this->modified_; + } + + void UriType:: + setModified (const ModifiedType& x) + { + this->modified_.set (x); + } + + void UriType:: + setModified (const ModifiedOptional& x) + { + this->modified_ = x; + } + + void UriType:: + setModified (::std::unique_ptr< ModifiedType > x) + { + this->modified_.set (std::move (x)); + } + + const UriType::AnySequence& UriType:: + getAny () const + { + return this->any_; + } + + UriType::AnySequence& UriType:: + getAny () + { + return this->any_; + } + + void UriType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const UriType::AnyAttributeSet& UriType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + UriType::AnyAttributeSet& UriType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void UriType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& UriType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& UriType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // KeywordsType + // + + KeywordsType:: + KeywordsType () + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (this) + { + } + + KeywordsType:: + KeywordsType (size_type n, const ::LinphonePrivate::Xsd::XmlSchema::String& x) + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (n, x, this) + { + } + + KeywordsType:: + KeywordsType (const KeywordsType& o, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (o, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (o, f, this) + { + } + + // UsersType + // + + const UsersType::UserSequence& UsersType:: + getUser () const + { + return this->user_; + } + + UsersType::UserSequence& UsersType:: + getUser () + { + return this->user_; + } + + void UsersType:: + setUser (const UserSequence& s) + { + this->user_ = s; + } + + const UsersType::AnySequence& UsersType:: + getAny () const + { + return this->any_; + } + + UsersType::AnySequence& UsersType:: + getAny () + { + return this->any_; + } + + void UsersType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const UsersType::StateType& UsersType:: + getState () const + { + return this->state_.get (); + } + + UsersType::StateType& UsersType:: + getState () + { + return this->state_.get (); + } + + void UsersType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void UsersType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< UsersType::StateType > UsersType:: + setDetachState () + { + return this->state_.detach (); + } + + const UsersType::StateType& UsersType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const UsersType::AnyAttributeSet& UsersType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + UsersType::AnyAttributeSet& UsersType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void UsersType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& UsersType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& UsersType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // UserType + // + + const UserType::DisplayTextOptional& UserType:: + getDisplayText () const + { + return this->display_text_; + } + + UserType::DisplayTextOptional& UserType:: + getDisplayText () + { + return this->display_text_; + } + + void UserType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void UserType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void UserType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const UserType::AssociatedAorsOptional& UserType:: + getAssociatedAors () const + { + return this->associated_aors_; + } + + UserType::AssociatedAorsOptional& UserType:: + getAssociatedAors () + { + return this->associated_aors_; + } + + void UserType:: + setAssociatedAors (const AssociatedAorsType& x) + { + this->associated_aors_.set (x); + } + + void UserType:: + setAssociatedAors (const AssociatedAorsOptional& x) + { + this->associated_aors_ = x; + } + + void UserType:: + setAssociatedAors (::std::unique_ptr< AssociatedAorsType > x) + { + this->associated_aors_.set (std::move (x)); + } + + const UserType::RolesOptional& UserType:: + getRoles () const + { + return this->roles_; + } + + UserType::RolesOptional& UserType:: + getRoles () + { + return this->roles_; + } + + void UserType:: + setRoles (const RolesType& x) + { + this->roles_.set (x); + } + + void UserType:: + setRoles (const RolesOptional& x) + { + this->roles_ = x; + } + + void UserType:: + setRoles (::std::unique_ptr< RolesType > x) + { + this->roles_.set (std::move (x)); + } + + const UserType::LanguagesOptional& UserType:: + getLanguages () const + { + return this->languages_; + } + + UserType::LanguagesOptional& UserType:: + getLanguages () + { + return this->languages_; + } + + void UserType:: + setLanguages (const LanguagesType& x) + { + this->languages_.set (x); + } + + void UserType:: + setLanguages (const LanguagesOptional& x) + { + this->languages_ = x; + } + + void UserType:: + setLanguages (::std::unique_ptr< LanguagesType > x) + { + this->languages_.set (std::move (x)); + } + + const UserType::CascadedFocusOptional& UserType:: + getCascadedFocus () const + { + return this->cascaded_focus_; + } + + UserType::CascadedFocusOptional& UserType:: + getCascadedFocus () + { + return this->cascaded_focus_; + } + + void UserType:: + setCascadedFocus (const CascadedFocusType& x) + { + this->cascaded_focus_.set (x); + } + + void UserType:: + setCascadedFocus (const CascadedFocusOptional& x) + { + this->cascaded_focus_ = x; + } + + void UserType:: + setCascadedFocus (::std::unique_ptr< CascadedFocusType > x) + { + this->cascaded_focus_.set (std::move (x)); + } + + const UserType::EndpointSequence& UserType:: + getEndpoint () const + { + return this->endpoint_; + } + + UserType::EndpointSequence& UserType:: + getEndpoint () + { + return this->endpoint_; + } + + void UserType:: + setEndpoint (const EndpointSequence& s) + { + this->endpoint_ = s; + } + + const UserType::AnySequence& UserType:: + getAny () const + { + return this->any_; + } + + UserType::AnySequence& UserType:: + getAny () + { + return this->any_; + } + + void UserType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const UserType::EntityOptional& UserType:: + getEntity () const + { + return this->entity_; + } + + UserType::EntityOptional& UserType:: + getEntity () + { + return this->entity_; + } + + void UserType:: + setEntity (const EntityType& x) + { + this->entity_.set (x); + } + + void UserType:: + setEntity (const EntityOptional& x) + { + this->entity_ = x; + } + + void UserType:: + setEntity (::std::unique_ptr< EntityType > x) + { + this->entity_.set (std::move (x)); + } + + const UserType::StateType& UserType:: + getState () const + { + return this->state_.get (); + } + + UserType::StateType& UserType:: + getState () + { + return this->state_.get (); + } + + void UserType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void UserType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< UserType::StateType > UserType:: + setDetachState () + { + return this->state_.detach (); + } + + const UserType::StateType& UserType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const UserType::AnyAttributeSet& UserType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + UserType::AnyAttributeSet& UserType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void UserType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& UserType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& UserType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // UserRolesType + // + + const UserRolesType::EntrySequence& UserRolesType:: + getEntry () const + { + return this->entry_; + } + + UserRolesType::EntrySequence& UserRolesType:: + getEntry () + { + return this->entry_; + } + + void UserRolesType:: + setEntry (const EntrySequence& s) + { + this->entry_ = s; + } + + const UserRolesType::AnyAttributeSet& UserRolesType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + UserRolesType::AnyAttributeSet& UserRolesType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void UserRolesType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& UserRolesType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& UserRolesType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // UserLanguagesType + // + + UserLanguagesType:: + UserLanguagesType () + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (this) + { + } + + UserLanguagesType:: + UserLanguagesType (size_type n, const ::LinphonePrivate::Xsd::XmlSchema::Language& x) + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (n, x, this) + { + } + + UserLanguagesType:: + UserLanguagesType (const UserLanguagesType& o, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (o, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (o, f, this) + { + } + + // EndpointType + // + + const EndpointType::DisplayTextOptional& EndpointType:: + getDisplayText () const + { + return this->display_text_; + } + + EndpointType::DisplayTextOptional& EndpointType:: + getDisplayText () + { + return this->display_text_; + } + + void EndpointType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void EndpointType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void EndpointType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const EndpointType::ReferredOptional& EndpointType:: + getReferred () const + { + return this->referred_; + } + + EndpointType::ReferredOptional& EndpointType:: + getReferred () + { + return this->referred_; + } + + void EndpointType:: + setReferred (const ReferredType& x) + { + this->referred_.set (x); + } + + void EndpointType:: + setReferred (const ReferredOptional& x) + { + this->referred_ = x; + } + + void EndpointType:: + setReferred (::std::unique_ptr< ReferredType > x) + { + this->referred_.set (std::move (x)); + } + + const EndpointType::StatusOptional& EndpointType:: + getStatus () const + { + return this->status_; + } + + EndpointType::StatusOptional& EndpointType:: + getStatus () + { + return this->status_; + } + + void EndpointType:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void EndpointType:: + setStatus (const StatusOptional& x) + { + this->status_ = x; + } + + void EndpointType:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + const EndpointType::JoiningMethodOptional& EndpointType:: + getJoiningMethod () const + { + return this->joining_method_; + } + + EndpointType::JoiningMethodOptional& EndpointType:: + getJoiningMethod () + { + return this->joining_method_; + } + + void EndpointType:: + setJoiningMethod (const JoiningMethodType& x) + { + this->joining_method_.set (x); + } + + void EndpointType:: + setJoiningMethod (const JoiningMethodOptional& x) + { + this->joining_method_ = x; + } + + void EndpointType:: + setJoiningMethod (::std::unique_ptr< JoiningMethodType > x) + { + this->joining_method_.set (std::move (x)); + } + + const EndpointType::JoiningInfoOptional& EndpointType:: + getJoiningInfo () const + { + return this->joining_info_; + } + + EndpointType::JoiningInfoOptional& EndpointType:: + getJoiningInfo () + { + return this->joining_info_; + } + + void EndpointType:: + setJoiningInfo (const JoiningInfoType& x) + { + this->joining_info_.set (x); + } + + void EndpointType:: + setJoiningInfo (const JoiningInfoOptional& x) + { + this->joining_info_ = x; + } + + void EndpointType:: + setJoiningInfo (::std::unique_ptr< JoiningInfoType > x) + { + this->joining_info_.set (std::move (x)); + } + + const EndpointType::DisconnectionMethodOptional& EndpointType:: + getDisconnectionMethod () const + { + return this->disconnection_method_; + } + + EndpointType::DisconnectionMethodOptional& EndpointType:: + getDisconnectionMethod () + { + return this->disconnection_method_; + } + + void EndpointType:: + setDisconnectionMethod (const DisconnectionMethodType& x) + { + this->disconnection_method_.set (x); + } + + void EndpointType:: + setDisconnectionMethod (const DisconnectionMethodOptional& x) + { + this->disconnection_method_ = x; + } + + void EndpointType:: + setDisconnectionMethod (::std::unique_ptr< DisconnectionMethodType > x) + { + this->disconnection_method_.set (std::move (x)); + } + + const EndpointType::DisconnectionInfoOptional& EndpointType:: + getDisconnectionInfo () const + { + return this->disconnection_info_; + } + + EndpointType::DisconnectionInfoOptional& EndpointType:: + getDisconnectionInfo () + { + return this->disconnection_info_; + } + + void EndpointType:: + setDisconnectionInfo (const DisconnectionInfoType& x) + { + this->disconnection_info_.set (x); + } + + void EndpointType:: + setDisconnectionInfo (const DisconnectionInfoOptional& x) + { + this->disconnection_info_ = x; + } + + void EndpointType:: + setDisconnectionInfo (::std::unique_ptr< DisconnectionInfoType > x) + { + this->disconnection_info_.set (std::move (x)); + } + + const EndpointType::MediaSequence& EndpointType:: + getMedia () const + { + return this->media_; + } + + EndpointType::MediaSequence& EndpointType:: + getMedia () + { + return this->media_; + } + + void EndpointType:: + setMedia (const MediaSequence& s) + { + this->media_ = s; + } + + const EndpointType::CallInfoOptional& EndpointType:: + getCallInfo () const + { + return this->call_info_; + } + + EndpointType::CallInfoOptional& EndpointType:: + getCallInfo () + { + return this->call_info_; + } + + void EndpointType:: + setCallInfo (const CallInfoType& x) + { + this->call_info_.set (x); + } + + void EndpointType:: + setCallInfo (const CallInfoOptional& x) + { + this->call_info_ = x; + } + + void EndpointType:: + setCallInfo (::std::unique_ptr< CallInfoType > x) + { + this->call_info_.set (std::move (x)); + } + + const EndpointType::AnySequence& EndpointType:: + getAny () const + { + return this->any_; + } + + EndpointType::AnySequence& EndpointType:: + getAny () + { + return this->any_; + } + + void EndpointType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const EndpointType::EntityOptional& EndpointType:: + getEntity () const + { + return this->entity_; + } + + EndpointType::EntityOptional& EndpointType:: + getEntity () + { + return this->entity_; + } + + void EndpointType:: + setEntity (const EntityType& x) + { + this->entity_.set (x); + } + + void EndpointType:: + setEntity (const EntityOptional& x) + { + this->entity_ = x; + } + + void EndpointType:: + setEntity (::std::unique_ptr< EntityType > x) + { + this->entity_.set (std::move (x)); + } + + const EndpointType::StateType& EndpointType:: + getState () const + { + return this->state_.get (); + } + + EndpointType::StateType& EndpointType:: + getState () + { + return this->state_.get (); + } + + void EndpointType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void EndpointType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< EndpointType::StateType > EndpointType:: + setDetachState () + { + return this->state_.detach (); + } + + const EndpointType::StateType& EndpointType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const EndpointType::AnyAttributeSet& EndpointType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + EndpointType::AnyAttributeSet& EndpointType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void EndpointType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& EndpointType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& EndpointType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // EndpointStatusType + // + + EndpointStatusType:: + EndpointStatusType (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_EndpointStatusType_literals_[v]) + { + } + + EndpointStatusType:: + EndpointStatusType (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + EndpointStatusType:: + EndpointStatusType (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + EndpointStatusType:: + EndpointStatusType (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + EndpointStatusType:: + EndpointStatusType (const EndpointStatusType& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + EndpointStatusType& EndpointStatusType:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_EndpointStatusType_literals_[v]); + + return *this; + } + + + // JoiningType + // + + JoiningType:: + JoiningType (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_JoiningType_literals_[v]) + { + } + + JoiningType:: + JoiningType (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + JoiningType:: + JoiningType (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + JoiningType:: + JoiningType (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + JoiningType:: + JoiningType (const JoiningType& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + JoiningType& JoiningType:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_JoiningType_literals_[v]); + + return *this; + } + + + // DisconnectionType + // + + DisconnectionType:: + DisconnectionType (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_DisconnectionType_literals_[v]) + { + } + + DisconnectionType:: + DisconnectionType (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + DisconnectionType:: + DisconnectionType (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + DisconnectionType:: + DisconnectionType (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + DisconnectionType:: + DisconnectionType (const DisconnectionType& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + DisconnectionType& DisconnectionType:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_DisconnectionType_literals_[v]); + + return *this; + } + + + // ExecutionType + // + + const ExecutionType::WhenOptional& ExecutionType:: + getWhen () const + { + return this->when_; + } + + ExecutionType::WhenOptional& ExecutionType:: + getWhen () + { + return this->when_; + } + + void ExecutionType:: + setWhen (const WhenType& x) + { + this->when_.set (x); + } + + void ExecutionType:: + setWhen (const WhenOptional& x) + { + this->when_ = x; + } + + void ExecutionType:: + setWhen (::std::unique_ptr< WhenType > x) + { + this->when_.set (std::move (x)); + } + + const ExecutionType::ReasonOptional& ExecutionType:: + getReason () const + { + return this->reason_; + } + + ExecutionType::ReasonOptional& ExecutionType:: + getReason () + { + return this->reason_; + } + + void ExecutionType:: + setReason (const ReasonType& x) + { + this->reason_.set (x); + } + + void ExecutionType:: + setReason (const ReasonOptional& x) + { + this->reason_ = x; + } + + void ExecutionType:: + setReason (::std::unique_ptr< ReasonType > x) + { + this->reason_.set (std::move (x)); + } + + const ExecutionType::ByOptional& ExecutionType:: + getBy () const + { + return this->by_; + } + + ExecutionType::ByOptional& ExecutionType:: + getBy () + { + return this->by_; + } + + void ExecutionType:: + setBy (const ByType& x) + { + this->by_.set (x); + } + + void ExecutionType:: + setBy (const ByOptional& x) + { + this->by_ = x; + } + + void ExecutionType:: + setBy (::std::unique_ptr< ByType > x) + { + this->by_.set (std::move (x)); + } + + const ExecutionType::AnyAttributeSet& ExecutionType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ExecutionType::AnyAttributeSet& ExecutionType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ExecutionType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ExecutionType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ExecutionType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // CallType + // + + const CallType::SipOptional& CallType:: + getSip () const + { + return this->sip_; + } + + CallType::SipOptional& CallType:: + getSip () + { + return this->sip_; + } + + void CallType:: + setSip (const SipType& x) + { + this->sip_.set (x); + } + + void CallType:: + setSip (const SipOptional& x) + { + this->sip_ = x; + } + + void CallType:: + setSip (::std::unique_ptr< SipType > x) + { + this->sip_.set (std::move (x)); + } + + const CallType::AnySequence& CallType:: + getAny () const + { + return this->any_; + } + + CallType::AnySequence& CallType:: + getAny () + { + return this->any_; + } + + void CallType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const CallType::AnyAttributeSet& CallType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + CallType::AnyAttributeSet& CallType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void CallType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& CallType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& CallType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // SipDialogIdType + // + + const SipDialogIdType::DisplayTextOptional& SipDialogIdType:: + getDisplayText () const + { + return this->display_text_; + } + + SipDialogIdType::DisplayTextOptional& SipDialogIdType:: + getDisplayText () + { + return this->display_text_; + } + + void SipDialogIdType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void SipDialogIdType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void SipDialogIdType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const SipDialogIdType::CallIdType& SipDialogIdType:: + getCallId () const + { + return this->call_id_.get (); + } + + SipDialogIdType::CallIdType& SipDialogIdType:: + getCallId () + { + return this->call_id_.get (); + } + + void SipDialogIdType:: + setCallId (const CallIdType& x) + { + this->call_id_.set (x); + } + + void SipDialogIdType:: + setCallId (::std::unique_ptr< CallIdType > x) + { + this->call_id_.set (std::move (x)); + } + + ::std::unique_ptr< SipDialogIdType::CallIdType > SipDialogIdType:: + setDetachCall_id () + { + return this->call_id_.detach (); + } + + const SipDialogIdType::FromTagType& SipDialogIdType:: + getFromTag () const + { + return this->from_tag_.get (); + } + + SipDialogIdType::FromTagType& SipDialogIdType:: + getFromTag () + { + return this->from_tag_.get (); + } + + void SipDialogIdType:: + setFromTag (const FromTagType& x) + { + this->from_tag_.set (x); + } + + void SipDialogIdType:: + setFromTag (::std::unique_ptr< FromTagType > x) + { + this->from_tag_.set (std::move (x)); + } + + ::std::unique_ptr< SipDialogIdType::FromTagType > SipDialogIdType:: + setDetachFrom_tag () + { + return this->from_tag_.detach (); + } + + const SipDialogIdType::ToTagType& SipDialogIdType:: + getToTag () const + { + return this->to_tag_.get (); + } + + SipDialogIdType::ToTagType& SipDialogIdType:: + getToTag () + { + return this->to_tag_.get (); + } + + void SipDialogIdType:: + setToTag (const ToTagType& x) + { + this->to_tag_.set (x); + } + + void SipDialogIdType:: + setToTag (::std::unique_ptr< ToTagType > x) + { + this->to_tag_.set (std::move (x)); + } + + ::std::unique_ptr< SipDialogIdType::ToTagType > SipDialogIdType:: + setDetachTo_tag () + { + return this->to_tag_.detach (); + } + + const SipDialogIdType::AnySequence& SipDialogIdType:: + getAny () const + { + return this->any_; + } + + SipDialogIdType::AnySequence& SipDialogIdType:: + getAny () + { + return this->any_; + } + + void SipDialogIdType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const SipDialogIdType::AnyAttributeSet& SipDialogIdType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + SipDialogIdType::AnyAttributeSet& SipDialogIdType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void SipDialogIdType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& SipDialogIdType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& SipDialogIdType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // MediaType + // + + const MediaType::DisplayTextOptional& MediaType:: + getDisplayText () const + { + return this->display_text_; + } + + MediaType::DisplayTextOptional& MediaType:: + getDisplayText () + { + return this->display_text_; + } + + void MediaType:: + setDisplayText (const DisplayTextType& x) + { + this->display_text_.set (x); + } + + void MediaType:: + setDisplayText (const DisplayTextOptional& x) + { + this->display_text_ = x; + } + + void MediaType:: + setDisplayText (::std::unique_ptr< DisplayTextType > x) + { + this->display_text_.set (std::move (x)); + } + + const MediaType::TypeOptional& MediaType:: + getType () const + { + return this->type_; + } + + MediaType::TypeOptional& MediaType:: + getType () + { + return this->type_; + } + + void MediaType:: + setType (const TypeType& x) + { + this->type_.set (x); + } + + void MediaType:: + setType (const TypeOptional& x) + { + this->type_ = x; + } + + void MediaType:: + setType (::std::unique_ptr< TypeType > x) + { + this->type_.set (std::move (x)); + } + + const MediaType::LabelOptional& MediaType:: + getLabel () const + { + return this->label_; + } + + MediaType::LabelOptional& MediaType:: + getLabel () + { + return this->label_; + } + + void MediaType:: + setLabel (const LabelType& x) + { + this->label_.set (x); + } + + void MediaType:: + setLabel (const LabelOptional& x) + { + this->label_ = x; + } + + void MediaType:: + setLabel (::std::unique_ptr< LabelType > x) + { + this->label_.set (std::move (x)); + } + + const MediaType::SrcIdOptional& MediaType:: + getSrcId () const + { + return this->src_id_; + } + + MediaType::SrcIdOptional& MediaType:: + getSrcId () + { + return this->src_id_; + } + + void MediaType:: + setSrcId (const SrcIdType& x) + { + this->src_id_.set (x); + } + + void MediaType:: + setSrcId (const SrcIdOptional& x) + { + this->src_id_ = x; + } + + void MediaType:: + setSrcId (::std::unique_ptr< SrcIdType > x) + { + this->src_id_.set (std::move (x)); + } + + const MediaType::StatusOptional& MediaType:: + getStatus () const + { + return this->status_; + } + + MediaType::StatusOptional& MediaType:: + getStatus () + { + return this->status_; + } + + void MediaType:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void MediaType:: + setStatus (const StatusOptional& x) + { + this->status_ = x; + } + + void MediaType:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + const MediaType::AnySequence& MediaType:: + getAny () const + { + return this->any_; + } + + MediaType::AnySequence& MediaType:: + getAny () + { + return this->any_; + } + + void MediaType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const MediaType::IdType& MediaType:: + getId () const + { + return this->id_.get (); + } + + MediaType::IdType& MediaType:: + getId () + { + return this->id_.get (); + } + + void MediaType:: + setId (const IdType& x) + { + this->id_.set (x); + } + + void MediaType:: + setId (::std::unique_ptr< IdType > x) + { + this->id_.set (std::move (x)); + } + + ::std::unique_ptr< MediaType::IdType > MediaType:: + setDetachId () + { + return this->id_.detach (); + } + + const MediaType::AnyAttributeSet& MediaType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + MediaType::AnyAttributeSet& MediaType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void MediaType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& MediaType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& MediaType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // MediaStatusType + // + + MediaStatusType:: + MediaStatusType (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_MediaStatusType_literals_[v]) + { + } + + MediaStatusType:: + MediaStatusType (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + MediaStatusType:: + MediaStatusType (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + MediaStatusType:: + MediaStatusType (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + MediaStatusType:: + MediaStatusType (const MediaStatusType& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + MediaStatusType& MediaStatusType:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_MediaStatusType_literals_[v]); + + return *this; + } + + + // SidebarsByValType + // + + const SidebarsByValType::EntrySequence& SidebarsByValType:: + getEntry () const + { + return this->entry_; + } + + SidebarsByValType::EntrySequence& SidebarsByValType:: + getEntry () + { + return this->entry_; + } + + void SidebarsByValType:: + setEntry (const EntrySequence& s) + { + this->entry_ = s; + } + + const SidebarsByValType::StateType& SidebarsByValType:: + getState () const + { + return this->state_.get (); + } + + SidebarsByValType::StateType& SidebarsByValType:: + getState () + { + return this->state_.get (); + } + + void SidebarsByValType:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void SidebarsByValType:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< SidebarsByValType::StateType > SidebarsByValType:: + setDetachState () + { + return this->state_.detach (); + } + + const SidebarsByValType::StateType& SidebarsByValType:: + getStateDefaultValue () + { + return state_default_value_; + } + + const SidebarsByValType::AnyAttributeSet& SidebarsByValType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + SidebarsByValType::AnyAttributeSet& SidebarsByValType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void SidebarsByValType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& SidebarsByValType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& SidebarsByValType:: + getDomDocument () + { + return *this->dom_document_; + } + } + } } -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} +#include <xsd/cxx/xml/dom/wildcard-source.hxx> -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); +#include <xsd/cxx/xml/dom/parsing-source.hxx> - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, f, p); -} +#include <xsd/cxx/tree/type-factory-map.hxx> -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + // ConferenceType + // + + const ConferenceType::StateType ConferenceType::state_default_value_ ( + "full"); + + ConferenceType:: + ConferenceType (const EntityType& entity) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + conference_description_ (this), + host_info_ (this), + conference_state_ (this), + users_ (this), + sidebars_by_ref_ (this), + sidebars_by_val_ (this), + any_ (this->getDomDocument ()), + entity_ (entity, this), + state_ (getStateDefaultValue (), this), + version_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + ConferenceType:: + ConferenceType (const ConferenceType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + conference_description_ (x.conference_description_, f, this), + host_info_ (x.host_info_, f, this), + conference_state_ (x.conference_state_, f, this), + users_ (x.users_, f, this), + sidebars_by_ref_ (x.sidebars_by_ref_, f, this), + sidebars_by_val_ (x.sidebars_by_val_, f, this), + any_ (x.any_, this->getDomDocument ()), + entity_ (x.entity_, f, this), + state_ (x.state_, f, this), + version_ (x.version_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ConferenceType:: + ConferenceType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + conference_description_ (this), + host_info_ (this), + conference_state_ (this), + users_ (this), + sidebars_by_ref_ (this), + sidebars_by_val_ (this), + any_ (this->getDomDocument ()), + entity_ (this), + state_ (this), + version_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ConferenceType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // conference-description + // + if (n.name () == "conference-description" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ConferenceDescriptionType > r ( + ConferenceDescriptionTraits::create (i, f, this)); + + if (!this->conference_description_) + { + this->conference_description_.set (::std::move (r)); + continue; + } + } + + // host-info + // + if (n.name () == "host-info" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< HostInfoType > r ( + HostInfoTraits::create (i, f, this)); + + if (!this->host_info_) + { + this->host_info_.set (::std::move (r)); + continue; + } + } + + // conference-state + // + if (n.name () == "conference-state" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ConferenceStateType > r ( + ConferenceStateTraits::create (i, f, this)); + + if (!this->conference_state_) + { + this->conference_state_.set (::std::move (r)); + continue; + } + } + + // users + // + if (n.name () == "users" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< UsersType > r ( + UsersTraits::create (i, f, this)); + + if (!this->users_) + { + this->users_.set (::std::move (r)); + continue; + } + } + + // sidebars-by-ref + // + if (n.name () == "sidebars-by-ref" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< SidebarsByRefType > r ( + SidebarsByRefTraits::create (i, f, this)); + + if (!this->sidebars_by_ref_) + { + this->sidebars_by_ref_.set (::std::move (r)); + continue; + } + } + + // sidebars-by-val + // + if (n.name () == "sidebars-by-val" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< SidebarsByValType > r ( + SidebarsByValTraits::create (i, f, this)); + + if (!this->sidebars_by_val_) + { + this->sidebars_by_val_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "entity" && n.namespace_ ().empty ()) + { + this->entity_.set (EntityTraits::create (i, f, this)); + continue; + } + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + if (n.name () == "version" && n.namespace_ ().empty ()) + { + this->version_.set (VersionTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!entity_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "entity", + ""); + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + ConferenceType* ConferenceType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ConferenceType (*this, f, c); + } + + ConferenceType& ConferenceType:: + operator= (const ConferenceType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->conference_description_ = x.conference_description_; + this->host_info_ = x.host_info_; + this->conference_state_ = x.conference_state_; + this->users_ = x.users_; + this->sidebars_by_ref_ = x.sidebars_by_ref_; + this->sidebars_by_val_ = x.sidebars_by_val_; + this->any_ = x.any_; + this->entity_ = x.entity_; + this->state_ = x.state_; + this->version_ = x.version_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ConferenceType:: + ~ConferenceType () + { + } + + // StateType + // + + StateType:: + StateType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_StateType_convert (); + } + + StateType:: + StateType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_StateType_convert (); + } + + StateType:: + StateType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_StateType_convert (); + } + + StateType* StateType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class StateType (*this, f, c); + } + + StateType::Value StateType:: + _xsd_StateType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_StateType_literals_); + const Value* i (::std::lower_bound ( + _xsd_StateType_indexes_, + _xsd_StateType_indexes_ + 3, + *this, + c)); + + if (i == _xsd_StateType_indexes_ + 3 || _xsd_StateType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const StateType:: + _xsd_StateType_literals_[3] = + { + "full", + "partial", + "deleted" + }; + + const StateType::Value StateType:: + _xsd_StateType_indexes_[3] = + { + ::LinphonePrivate::Xsd::ConferenceInfo::StateType::deleted, + ::LinphonePrivate::Xsd::ConferenceInfo::StateType::full, + ::LinphonePrivate::Xsd::ConferenceInfo::StateType::partial + }; + + // ConferenceDescriptionType + // + + ConferenceDescriptionType:: + ConferenceDescriptionType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + subject_ (this), + free_text_ (this), + keywords_ (this), + conf_uris_ (this), + service_uris_ (this), + maximum_user_count_ (this), + available_media_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + ConferenceDescriptionType:: + ConferenceDescriptionType (const ConferenceDescriptionType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + subject_ (x.subject_, f, this), + free_text_ (x.free_text_, f, this), + keywords_ (x.keywords_, f, this), + conf_uris_ (x.conf_uris_, f, this), + service_uris_ (x.service_uris_, f, this), + maximum_user_count_ (x.maximum_user_count_, f, this), + available_media_ (x.available_media_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ConferenceDescriptionType:: + ConferenceDescriptionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + subject_ (this), + free_text_ (this), + keywords_ (this), + conf_uris_ (this), + service_uris_ (this), + maximum_user_count_ (this), + available_media_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ConferenceDescriptionType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // subject + // + if (n.name () == "subject" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< SubjectType > r ( + SubjectTraits::create (i, f, this)); + + if (!this->subject_) + { + this->subject_.set (::std::move (r)); + continue; + } + } + + // free-text + // + if (n.name () == "free-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< FreeTextType > r ( + FreeTextTraits::create (i, f, this)); + + if (!this->free_text_) + { + this->free_text_.set (::std::move (r)); + continue; + } + } + + // keywords + // + if (n.name () == "keywords" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< KeywordsType > r ( + KeywordsTraits::create (i, f, this)); + + if (!this->keywords_) + { + this->keywords_.set (::std::move (r)); + continue; + } + } + + // conf-uris + // + if (n.name () == "conf-uris" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ConfUrisType > r ( + ConfUrisTraits::create (i, f, this)); + + if (!this->conf_uris_) + { + this->conf_uris_.set (::std::move (r)); + continue; + } + } + + // service-uris + // + if (n.name () == "service-uris" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ServiceUrisType > r ( + ServiceUrisTraits::create (i, f, this)); + + if (!this->service_uris_) + { + this->service_uris_.set (::std::move (r)); + continue; + } + } + + // maximum-user-count + // + if (n.name () == "maximum-user-count" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + if (!this->maximum_user_count_) + { + this->maximum_user_count_.set (MaximumUserCountTraits::create (i, f, this)); + continue; + } + } + + // available-media + // + if (n.name () == "available-media" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< AvailableMediaType > r ( + AvailableMediaTraits::create (i, f, this)); + + if (!this->available_media_) + { + this->available_media_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ConferenceDescriptionType* ConferenceDescriptionType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ConferenceDescriptionType (*this, f, c); + } + + ConferenceDescriptionType& ConferenceDescriptionType:: + operator= (const ConferenceDescriptionType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->subject_ = x.subject_; + this->free_text_ = x.free_text_; + this->keywords_ = x.keywords_; + this->conf_uris_ = x.conf_uris_; + this->service_uris_ = x.service_uris_; + this->maximum_user_count_ = x.maximum_user_count_; + this->available_media_ = x.available_media_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ConferenceDescriptionType:: + ~ConferenceDescriptionType () + { + } + + // HostType + // + + HostType:: + HostType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + web_page_ (this), + uris_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + HostType:: + HostType (const HostType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + web_page_ (x.web_page_, f, this), + uris_ (x.uris_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + HostType:: + HostType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + web_page_ (this), + uris_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void HostType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // web-page + // + if (n.name () == "web-page" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< WebPageType > r ( + WebPageTraits::create (i, f, this)); + + if (!this->web_page_) + { + this->web_page_.set (::std::move (r)); + continue; + } + } + + // uris + // + if (n.name () == "uris" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< UrisType > r ( + UrisTraits::create (i, f, this)); + + if (!this->uris_) + { + this->uris_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + HostType* HostType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class HostType (*this, f, c); + } + + HostType& HostType:: + operator= (const HostType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->web_page_ = x.web_page_; + this->uris_ = x.uris_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + HostType:: + ~HostType () + { + } + + // ConferenceStateType + // + + ConferenceStateType:: + ConferenceStateType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_count_ (this), + active_ (this), + locked_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + ConferenceStateType:: + ConferenceStateType (const ConferenceStateType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_count_ (x.user_count_, f, this), + active_ (x.active_, f, this), + locked_ (x.locked_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ConferenceStateType:: + ConferenceStateType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_count_ (this), + active_ (this), + locked_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ConferenceStateType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // user-count + // + if (n.name () == "user-count" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + if (!this->user_count_) + { + this->user_count_.set (UserCountTraits::create (i, f, this)); + continue; + } + } + + // active + // + if (n.name () == "active" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + if (!this->active_) + { + this->active_.set (ActiveTraits::create (i, f, this)); + continue; + } + } + + // locked + // + if (n.name () == "locked" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + if (!this->locked_) + { + this->locked_.set (LockedTraits::create (i, f, this)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ConferenceStateType* ConferenceStateType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ConferenceStateType (*this, f, c); + } + + ConferenceStateType& ConferenceStateType:: + operator= (const ConferenceStateType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->user_count_ = x.user_count_; + this->active_ = x.active_; + this->locked_ = x.locked_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ConferenceStateType:: + ~ConferenceStateType () + { + } + + // ConferenceMediaType + // + + ConferenceMediaType:: + ConferenceMediaType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + ConferenceMediaType:: + ConferenceMediaType (const ConferenceMediaType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (x.entry_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ConferenceMediaType:: + ConferenceMediaType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ConferenceMediaType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // entry + // + if (n.name () == "entry" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< EntryType > r ( + EntryTraits::create (i, f, this)); + + this->entry_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ConferenceMediaType* ConferenceMediaType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ConferenceMediaType (*this, f, c); + } + + ConferenceMediaType& ConferenceMediaType:: + operator= (const ConferenceMediaType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->entry_ = x.entry_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ConferenceMediaType:: + ~ConferenceMediaType () + { + } + + // ConferenceMediumType + // + + ConferenceMediumType:: + ConferenceMediumType (const TypeType& type, + const LabelType& label) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + type_ (type, this), + status_ (this), + any_ (this->getDomDocument ()), + label_ (label, this), + any_attribute_ (this->getDomDocument ()) + { + } + + ConferenceMediumType:: + ConferenceMediumType (const ConferenceMediumType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + type_ (x.type_, f, this), + status_ (x.status_, f, this), + any_ (x.any_, this->getDomDocument ()), + label_ (x.label_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ConferenceMediumType:: + ConferenceMediumType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + type_ (this), + status_ (this), + any_ (this->getDomDocument ()), + label_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ConferenceMediumType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // type + // + if (n.name () == "type" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< TypeType > r ( + TypeTraits::create (i, f, this)); + + if (!type_.present ()) + { + this->type_.set (::std::move (r)); + continue; + } + } + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!this->status_) + { + this->status_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!type_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "type", + "urn:ietf:params:xml:ns:conference-info"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "label" && n.namespace_ ().empty ()) + { + this->label_.set (LabelTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!label_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "label", + ""); + } + } + + ConferenceMediumType* ConferenceMediumType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ConferenceMediumType (*this, f, c); + } + + ConferenceMediumType& ConferenceMediumType:: + operator= (const ConferenceMediumType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->type_ = x.type_; + this->status_ = x.status_; + this->any_ = x.any_; + this->label_ = x.label_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ConferenceMediumType:: + ~ConferenceMediumType () + { + } + + // UrisType + // + + const UrisType::StateType UrisType::state_default_value_ ( + "full"); + + UrisType:: + UrisType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + state_ (getStateDefaultValue (), this), + any_attribute_ (this->getDomDocument ()) + { + } + + UrisType:: + UrisType (const UrisType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (x.entry_, f, this), + state_ (x.state_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + UrisType:: + UrisType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + state_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void UrisType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // entry + // + if (n.name () == "entry" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< EntryType > r ( + EntryTraits::create (i, f, this)); + + this->entry_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + UrisType* UrisType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UrisType (*this, f, c); + } + + UrisType& UrisType:: + operator= (const UrisType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->entry_ = x.entry_; + this->state_ = x.state_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + UrisType:: + ~UrisType () + { + } + + // UriType + // + + UriType:: + UriType (const UriType1& uri) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + uri_ (uri, this), + display_text_ (this), + purpose_ (this), + modified_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + UriType:: + UriType (const UriType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + uri_ (x.uri_, f, this), + display_text_ (x.display_text_, f, this), + purpose_ (x.purpose_, f, this), + modified_ (x.modified_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + UriType:: + UriType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + uri_ (this), + display_text_ (this), + purpose_ (this), + modified_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void UriType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // uri + // + if (n.name () == "uri" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< UriType1 > r ( + UriTraits::create (i, f, this)); + + if (!uri_.present ()) + { + this->uri_.set (::std::move (r)); + continue; + } + } + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // purpose + // + if (n.name () == "purpose" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< PurposeType > r ( + PurposeTraits::create (i, f, this)); + + if (!this->purpose_) + { + this->purpose_.set (::std::move (r)); + continue; + } + } + + // modified + // + if (n.name () == "modified" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ModifiedType > r ( + ModifiedTraits::create (i, f, this)); + + if (!this->modified_) + { + this->modified_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!uri_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "uri", + "urn:ietf:params:xml:ns:conference-info"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + UriType* UriType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UriType (*this, f, c); + } + + UriType& UriType:: + operator= (const UriType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->uri_ = x.uri_; + this->display_text_ = x.display_text_; + this->purpose_ = x.purpose_; + this->modified_ = x.modified_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + UriType:: + ~UriType () + { + } + + // KeywordsType + // + + KeywordsType:: + KeywordsType (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - ::xercesc::DOMErrorHandler &h, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (e, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (e, f, this) + { + } + + KeywordsType:: + KeywordsType (const ::xercesc::DOMAttr& a, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - const ::std::string &sid, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (a, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (a, f, this) + { + } + + KeywordsType:: + KeywordsType (const ::std::string& s, + const ::xercesc::DOMElement* e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (s, e, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (s, e, f, this) + { + } + + KeywordsType* KeywordsType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class KeywordsType (*this, f, c); + } + + KeywordsType:: + ~KeywordsType () + { + } + + // UsersType + // + + const UsersType::StateType UsersType::state_default_value_ ( + "full"); + + UsersType:: + UsersType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_ (this), + any_ (this->getDomDocument ()), + state_ (getStateDefaultValue (), this), + any_attribute_ (this->getDomDocument ()) + { + } + + UsersType:: + UsersType (const UsersType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_ (x.user_, f, this), + any_ (x.any_, this->getDomDocument ()), + state_ (x.state_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + UsersType:: + UsersType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + user_ (this), + any_ (this->getDomDocument ()), + state_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void UsersType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // user + // + if (n.name () == "user" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< UserType > r ( + UserTraits::create (i, f, this)); + + this->user_.push_back (::std::move (r)); + continue; + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + UsersType* UsersType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UsersType (*this, f, c); + } + + UsersType& UsersType:: + operator= (const UsersType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->user_ = x.user_; + this->any_ = x.any_; + this->state_ = x.state_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + UsersType:: + ~UsersType () + { + } + + // UserType + // + + const UserType::StateType UserType::state_default_value_ ( + "full"); + + UserType:: + UserType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + associated_aors_ (this), + roles_ (this), + languages_ (this), + cascaded_focus_ (this), + endpoint_ (this), + any_ (this->getDomDocument ()), + entity_ (this), + state_ (getStateDefaultValue (), this), + any_attribute_ (this->getDomDocument ()) + { + } + + UserType:: + UserType (const UserType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + associated_aors_ (x.associated_aors_, f, this), + roles_ (x.roles_, f, this), + languages_ (x.languages_, f, this), + cascaded_focus_ (x.cascaded_focus_, f, this), + endpoint_ (x.endpoint_, f, this), + any_ (x.any_, this->getDomDocument ()), + entity_ (x.entity_, f, this), + state_ (x.state_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + UserType:: + UserType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + associated_aors_ (this), + roles_ (this), + languages_ (this), + cascaded_focus_ (this), + endpoint_ (this), + any_ (this->getDomDocument ()), + entity_ (this), + state_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void UserType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // associated-aors + // + if (n.name () == "associated-aors" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< AssociatedAorsType > r ( + AssociatedAorsTraits::create (i, f, this)); + + if (!this->associated_aors_) + { + this->associated_aors_.set (::std::move (r)); + continue; + } + } + + // roles + // + if (n.name () == "roles" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< RolesType > r ( + RolesTraits::create (i, f, this)); + + if (!this->roles_) + { + this->roles_.set (::std::move (r)); + continue; + } + } + + // languages + // + if (n.name () == "languages" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< LanguagesType > r ( + LanguagesTraits::create (i, f, this)); + + if (!this->languages_) + { + this->languages_.set (::std::move (r)); + continue; + } + } + + // cascaded-focus + // + if (n.name () == "cascaded-focus" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< CascadedFocusType > r ( + CascadedFocusTraits::create (i, f, this)); + + if (!this->cascaded_focus_) + { + this->cascaded_focus_.set (::std::move (r)); + continue; + } + } + + // endpoint + // + if (n.name () == "endpoint" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< EndpointType > r ( + EndpointTraits::create (i, f, this)); + + this->endpoint_.push_back (::std::move (r)); + continue; + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "entity" && n.namespace_ ().empty ()) + { + this->entity_.set (EntityTraits::create (i, f, this)); + continue; + } + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + UserType* UserType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UserType (*this, f, c); + } + + UserType& UserType:: + operator= (const UserType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->associated_aors_ = x.associated_aors_; + this->roles_ = x.roles_; + this->languages_ = x.languages_; + this->cascaded_focus_ = x.cascaded_focus_; + this->endpoint_ = x.endpoint_; + this->any_ = x.any_; + this->entity_ = x.entity_; + this->state_ = x.state_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + UserType:: + ~UserType () + { + } + + // UserRolesType + // + + UserRolesType:: + UserRolesType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + UserRolesType:: + UserRolesType (const UserRolesType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (x.entry_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + UserRolesType:: + UserRolesType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void UserRolesType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // entry + // + if (n.name () == "entry" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< EntryType > r ( + EntryTraits::create (i, f, this)); + + this->entry_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + UserRolesType* UserRolesType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UserRolesType (*this, f, c); + } + + UserRolesType& UserRolesType:: + operator= (const UserRolesType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->entry_ = x.entry_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + UserRolesType:: + ~UserRolesType () + { + } + + // UserLanguagesType + // + + UserLanguagesType:: + UserLanguagesType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (e, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (e, f, this) + { + } + + UserLanguagesType:: + UserLanguagesType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (a, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (a, f, this) + { + } + + UserLanguagesType:: + UserLanguagesType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::SimpleType (s, e, f, c), + ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (s, e, f, this) + { + } + + UserLanguagesType* UserLanguagesType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class UserLanguagesType (*this, f, c); + } + + UserLanguagesType:: + ~UserLanguagesType () + { + } + + // EndpointType + // + + const EndpointType::StateType EndpointType::state_default_value_ ( + "full"); + + EndpointType:: + EndpointType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + referred_ (this), + status_ (this), + joining_method_ (this), + joining_info_ (this), + disconnection_method_ (this), + disconnection_info_ (this), + media_ (this), + call_info_ (this), + any_ (this->getDomDocument ()), + entity_ (this), + state_ (getStateDefaultValue (), this), + any_attribute_ (this->getDomDocument ()) + { + } + + EndpointType:: + EndpointType (const EndpointType& x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + referred_ (x.referred_, f, this), + status_ (x.status_, f, this), + joining_method_ (x.joining_method_, f, this), + joining_info_ (x.joining_info_, f, this), + disconnection_method_ (x.disconnection_method_, f, this), + disconnection_info_ (x.disconnection_info_, f, this), + media_ (x.media_, f, this), + call_info_ (x.call_info_, f, this), + any_ (x.any_, this->getDomDocument ()), + entity_ (x.entity_, f, this), + state_ (x.state_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + EndpointType:: + EndpointType (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo(isrc, h, f, p); + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + referred_ (this), + status_ (this), + joining_method_ (this), + joining_info_ (this), + disconnection_method_ (this), + disconnection_info_ (this), + media_ (this), + call_info_ (this), + any_ (this->getDomDocument ()), + entity_ (this), + state_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void EndpointType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // referred + // + if (n.name () == "referred" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ReferredType > r ( + ReferredTraits::create (i, f, this)); + + if (!this->referred_) + { + this->referred_.set (::std::move (r)); + continue; + } + } + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!this->status_) + { + this->status_.set (::std::move (r)); + continue; + } + } + + // joining-method + // + if (n.name () == "joining-method" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< JoiningMethodType > r ( + JoiningMethodTraits::create (i, f, this)); + + if (!this->joining_method_) + { + this->joining_method_.set (::std::move (r)); + continue; + } + } + + // joining-info + // + if (n.name () == "joining-info" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< JoiningInfoType > r ( + JoiningInfoTraits::create (i, f, this)); + + if (!this->joining_info_) + { + this->joining_info_.set (::std::move (r)); + continue; + } + } + + // disconnection-method + // + if (n.name () == "disconnection-method" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisconnectionMethodType > r ( + DisconnectionMethodTraits::create (i, f, this)); + + if (!this->disconnection_method_) + { + this->disconnection_method_.set (::std::move (r)); + continue; + } + } + + // disconnection-info + // + if (n.name () == "disconnection-info" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisconnectionInfoType > r ( + DisconnectionInfoTraits::create (i, f, this)); + + if (!this->disconnection_info_) + { + this->disconnection_info_.set (::std::move (r)); + continue; + } + } + + // media + // + if (n.name () == "media" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< MediaType > r ( + MediaTraits::create (i, f, this)); + + this->media_.push_back (::std::move (r)); + continue; + } + + // call-info + // + if (n.name () == "call-info" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< CallInfoType > r ( + CallInfoTraits::create (i, f, this)); + + if (!this->call_info_) + { + this->call_info_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "entity" && n.namespace_ ().empty ()) + { + this->entity_.set (EntityTraits::create (i, f, this)); + continue; + } + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + EndpointType* EndpointType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class EndpointType (*this, f, c); + } + + EndpointType& EndpointType:: + operator= (const EndpointType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->referred_ = x.referred_; + this->status_ = x.status_; + this->joining_method_ = x.joining_method_; + this->joining_info_ = x.joining_info_; + this->disconnection_method_ = x.disconnection_method_; + this->disconnection_info_ = x.disconnection_info_; + this->media_ = x.media_; + this->call_info_ = x.call_info_; + this->any_ = x.any_; + this->entity_ = x.entity_; + this->state_ = x.state_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + EndpointType:: + ~EndpointType () + { + } + + // EndpointStatusType + // + + EndpointStatusType:: + EndpointStatusType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_EndpointStatusType_convert (); + } + + EndpointStatusType:: + EndpointStatusType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_EndpointStatusType_convert (); + } + + EndpointStatusType:: + EndpointStatusType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_EndpointStatusType_convert (); + } + + EndpointStatusType* EndpointStatusType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class EndpointStatusType (*this, f, c); + } + + EndpointStatusType::Value EndpointStatusType:: + _xsd_EndpointStatusType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_EndpointStatusType_literals_); + const Value* i (::std::lower_bound ( + _xsd_EndpointStatusType_indexes_, + _xsd_EndpointStatusType_indexes_ + 9, + *this, + c)); + + if (i == _xsd_EndpointStatusType_indexes_ + 9 || _xsd_EndpointStatusType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const EndpointStatusType:: + _xsd_EndpointStatusType_literals_[9] = + { + "pending", + "dialing-out", + "dialing-in", + "alerting", + "on-hold", + "connected", + "muted-via-focus", + "disconnecting", + "disconnected" + }; + + const EndpointStatusType::Value EndpointStatusType:: + _xsd_EndpointStatusType_indexes_[9] = + { + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::alerting, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::connected, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::dialing_in, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::dialing_out, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::disconnected, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::disconnecting, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::muted_via_focus, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::on_hold, + ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType::pending + }; + + // JoiningType + // + + JoiningType:: + JoiningType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_JoiningType_convert (); + } + + JoiningType:: + JoiningType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_JoiningType_convert (); + } + + JoiningType:: + JoiningType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_JoiningType_convert (); + } + + JoiningType* JoiningType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class JoiningType (*this, f, c); + } + + JoiningType::Value JoiningType:: + _xsd_JoiningType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_JoiningType_literals_); + const Value* i (::std::lower_bound ( + _xsd_JoiningType_indexes_, + _xsd_JoiningType_indexes_ + 3, + *this, + c)); + + if (i == _xsd_JoiningType_indexes_ + 3 || _xsd_JoiningType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const JoiningType:: + _xsd_JoiningType_literals_[3] = + { + "dialed-in", + "dialed-out", + "focus-owner" + }; + + const JoiningType::Value JoiningType:: + _xsd_JoiningType_indexes_[3] = + { + ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::dialed_in, + ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::dialed_out, + ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType::focus_owner + }; + + // DisconnectionType + // + + DisconnectionType:: + DisconnectionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_DisconnectionType_convert (); + } + + DisconnectionType:: + DisconnectionType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_DisconnectionType_convert (); + } + + DisconnectionType:: + DisconnectionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_DisconnectionType_convert (); + } + + DisconnectionType* DisconnectionType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class DisconnectionType (*this, f, c); + } + + DisconnectionType::Value DisconnectionType:: + _xsd_DisconnectionType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_DisconnectionType_literals_); + const Value* i (::std::lower_bound ( + _xsd_DisconnectionType_indexes_, + _xsd_DisconnectionType_indexes_ + 4, + *this, + c)); + + if (i == _xsd_DisconnectionType_indexes_ + 4 || _xsd_DisconnectionType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const DisconnectionType:: + _xsd_DisconnectionType_literals_[4] = + { + "departed", + "booted", + "failed", + "busy" + }; + + const DisconnectionType::Value DisconnectionType:: + _xsd_DisconnectionType_indexes_[4] = + { + ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::booted, + ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::busy, + ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::departed, + ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType::failed + }; + + // ExecutionType + // + + ExecutionType:: + ExecutionType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + when_ (this), + reason_ (this), + by_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + ExecutionType:: + ExecutionType (const ExecutionType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + when_ (x.when_, f, this), + reason_ (x.reason_, f, this), + by_ (x.by_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ExecutionType:: + ExecutionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + when_ (this), + reason_ (this), + by_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ExecutionType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // when + // + if (n.name () == "when" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< WhenType > r ( + WhenTraits::create (i, f, this)); + + if (!this->when_) + { + this->when_.set (::std::move (r)); + continue; + } + } + + // reason + // + if (n.name () == "reason" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ReasonType > r ( + ReasonTraits::create (i, f, this)); + + if (!this->reason_) + { + this->reason_.set (::std::move (r)); + continue; + } + } + + // by + // + if (n.name () == "by" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ByType > r ( + ByTraits::create (i, f, this)); + + if (!this->by_) + { + this->by_.set (::std::move (r)); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ExecutionType* ExecutionType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ExecutionType (*this, f, c); + } + + ExecutionType& ExecutionType:: + operator= (const ExecutionType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->when_ = x.when_; + this->reason_ = x.reason_; + this->by_ = x.by_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ExecutionType:: + ~ExecutionType () + { + } + + // CallType + // + + CallType:: + CallType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + sip_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + CallType:: + CallType (const CallType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + sip_ (x.sip_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + CallType:: + CallType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + sip_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void CallType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // sip + // + if (n.name () == "sip" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< SipType > r ( + SipTraits::create (i, f, this)); + + if (!this->sip_) + { + this->sip_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + CallType* CallType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class CallType (*this, f, c); + } + + CallType& CallType:: + operator= (const CallType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->sip_ = x.sip_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + CallType:: + ~CallType () + { + } + + // SipDialogIdType + // + + SipDialogIdType:: + SipDialogIdType (const CallIdType& call_id, + const FromTagType& from_tag, + const ToTagType& to_tag) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + call_id_ (call_id, this), + from_tag_ (from_tag, this), + to_tag_ (to_tag, this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + } + + SipDialogIdType:: + SipDialogIdType (const SipDialogIdType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + call_id_ (x.call_id_, f, this), + from_tag_ (x.from_tag_, f, this), + to_tag_ (x.to_tag_, f, this), + any_ (x.any_, this->getDomDocument ()), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + SipDialogIdType:: + SipDialogIdType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + call_id_ (this), + from_tag_ (this), + to_tag_ (this), + any_ (this->getDomDocument ()), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void SipDialogIdType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // call-id + // + if (n.name () == "call-id" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< CallIdType > r ( + CallIdTraits::create (i, f, this)); + + if (!call_id_.present ()) + { + this->call_id_.set (::std::move (r)); + continue; + } + } + + // from-tag + // + if (n.name () == "from-tag" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< FromTagType > r ( + FromTagTraits::create (i, f, this)); + + if (!from_tag_.present ()) + { + this->from_tag_.set (::std::move (r)); + continue; + } + } + + // to-tag + // + if (n.name () == "to-tag" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ToTagType > r ( + ToTagTraits::create (i, f, this)); + + if (!to_tag_.present ()) + { + this->to_tag_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!call_id_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "call-id", + "urn:ietf:params:xml:ns:conference-info"); + } + + if (!from_tag_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "from-tag", + "urn:ietf:params:xml:ns:conference-info"); + } + + if (!to_tag_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "to-tag", + "urn:ietf:params:xml:ns:conference-info"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + SipDialogIdType* SipDialogIdType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class SipDialogIdType (*this, f, c); + } + + SipDialogIdType& SipDialogIdType:: + operator= (const SipDialogIdType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->call_id_ = x.call_id_; + this->from_tag_ = x.from_tag_; + this->to_tag_ = x.to_tag_; + this->any_ = x.any_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + SipDialogIdType:: + ~SipDialogIdType () + { + } + + // MediaType + // + + MediaType:: + MediaType (const IdType& id) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + type_ (this), + label_ (this), + src_id_ (this), + status_ (this), + any_ (this->getDomDocument ()), + id_ (id, this), + any_attribute_ (this->getDomDocument ()) + { + } + + MediaType:: + MediaType (const MediaType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (x.display_text_, f, this), + type_ (x.type_, f, this), + label_ (x.label_, f, this), + src_id_ (x.src_id_, f, this), + status_ (x.status_, f, this), + any_ (x.any_, this->getDomDocument ()), + id_ (x.id_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + MediaType:: + MediaType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_text_ (this), + type_ (this), + label_ (this), + src_id_ (this), + status_ (this), + any_ (this->getDomDocument ()), + id_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void MediaType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-text + // + if (n.name () == "display-text" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< DisplayTextType > r ( + DisplayTextTraits::create (i, f, this)); + + if (!this->display_text_) + { + this->display_text_.set (::std::move (r)); + continue; + } + } + + // type + // + if (n.name () == "type" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< TypeType > r ( + TypeTraits::create (i, f, this)); + + if (!this->type_) + { + this->type_.set (::std::move (r)); + continue; + } + } + + // label + // + if (n.name () == "label" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< LabelType > r ( + LabelTraits::create (i, f, this)); + + if (!this->label_) + { + this->label_.set (::std::move (r)); + continue; + } + } + + // src-id + // + if (n.name () == "src-id" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< SrcIdType > r ( + SrcIdTraits::create (i, f, this)); + + if (!this->src_id_) + { + this->src_id_.set (::std::move (r)); + continue; + } + } + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!this->status_) + { + this->status_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:conference-info")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "id" && n.namespace_ ().empty ()) + { + this->id_.set (IdTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!id_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "id", + ""); + } + } + + MediaType* MediaType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class MediaType (*this, f, c); + } + + MediaType& MediaType:: + operator= (const MediaType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_text_ = x.display_text_; + this->type_ = x.type_; + this->label_ = x.label_; + this->src_id_ = x.src_id_; + this->status_ = x.status_; + this->any_ = x.any_; + this->id_ = x.id_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + MediaType:: + ~MediaType () + { + } + + // MediaStatusType + // + + MediaStatusType:: + MediaStatusType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_MediaStatusType_convert (); + } + + MediaStatusType:: + MediaStatusType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_MediaStatusType_convert (); + } + + MediaStatusType:: + MediaStatusType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_MediaStatusType_convert (); + } + + MediaStatusType* MediaStatusType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class MediaStatusType (*this, f, c); + } + + MediaStatusType::Value MediaStatusType:: + _xsd_MediaStatusType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_MediaStatusType_literals_); + const Value* i (::std::lower_bound ( + _xsd_MediaStatusType_indexes_, + _xsd_MediaStatusType_indexes_ + 4, + *this, + c)); + + if (i == _xsd_MediaStatusType_indexes_ + 4 || _xsd_MediaStatusType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const MediaStatusType:: + _xsd_MediaStatusType_literals_[4] = + { + "recvonly", + "sendonly", + "sendrecv", + "inactive" + }; + + const MediaStatusType::Value MediaStatusType:: + _xsd_MediaStatusType_indexes_[4] = + { + ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::inactive, + ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::recvonly, + ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::sendonly, + ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType::sendrecv + }; + + // SidebarsByValType + // + + const SidebarsByValType::StateType SidebarsByValType::state_default_value_ ( + "full"); + + SidebarsByValType:: + SidebarsByValType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + state_ (getStateDefaultValue (), this), + any_attribute_ (this->getDomDocument ()) + { + } + + SidebarsByValType:: + SidebarsByValType (const SidebarsByValType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (x.entry_, f, this), + state_ (x.state_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + SidebarsByValType:: + SidebarsByValType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + entry_ (this), + state_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void SidebarsByValType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // entry + // + if (n.name () == "entry" && n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< EntryType > r ( + EntryTraits::create (i, f, this)); + + this->entry_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:conference-info" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!state_.present ()) + { + this->state_.set (getStateDefaultValue ()); + } + } + + SidebarsByValType* SidebarsByValType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class SidebarsByValType (*this, f, c); + } + + SidebarsByValType& SidebarsByValType:: + operator= (const SidebarsByValType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->entry_ = x.entry_; + this->state_ = x.state_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + SidebarsByValType:: + ~SidebarsByValType () + { + } + } + } } -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); +#include <ostream> - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); +#include <xsd/cxx/tree/std-ostream-map.hxx> - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + ::std::ostream& + operator<< (::std::ostream& o, const ConferenceType& i) + { + if (i.getConferenceDescription ()) + { + o << ::std::endl << "conference-description: " << *i.getConferenceDescription (); + } + + if (i.getHostInfo ()) + { + o << ::std::endl << "host-info: " << *i.getHostInfo (); + } + + if (i.getConferenceState ()) + { + o << ::std::endl << "conference-state: " << *i.getConferenceState (); + } + + if (i.getUsers ()) + { + o << ::std::endl << "users: " << *i.getUsers (); + } + + if (i.getSidebarsByRef ()) + { + o << ::std::endl << "sidebars-by-ref: " << *i.getSidebarsByRef (); + } + + if (i.getSidebarsByVal ()) + { + o << ::std::endl << "sidebars-by-val: " << *i.getSidebarsByVal (); + } + + o << ::std::endl << "entity: " << i.getEntity (); + o << ::std::endl << "state: " << i.getState (); + if (i.getVersion ()) + { + o << ::std::endl << "version: " << *i.getVersion (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, StateType::Value i) + { + return o << StateType::_xsd_StateType_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const StateType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const ConferenceDescriptionType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getSubject ()) + { + o << ::std::endl << "subject: " << *i.getSubject (); + } + + if (i.getFreeText ()) + { + o << ::std::endl << "free-text: " << *i.getFreeText (); + } + + if (i.getKeywords ()) + { + o << ::std::endl << "keywords: " << *i.getKeywords (); + } + + if (i.getConfUris ()) + { + o << ::std::endl << "conf-uris: " << *i.getConfUris (); + } + + if (i.getServiceUris ()) + { + o << ::std::endl << "service-uris: " << *i.getServiceUris (); + } + + if (i.getMaximumUserCount ()) + { + o << ::std::endl << "maximum-user-count: " << *i.getMaximumUserCount (); + } + + if (i.getAvailableMedia ()) + { + o << ::std::endl << "available-media: " << *i.getAvailableMedia (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const HostType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getWebPage ()) + { + o << ::std::endl << "web-page: " << *i.getWebPage (); + } + + if (i.getUris ()) + { + o << ::std::endl << "uris: " << *i.getUris (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ConferenceStateType& i) + { + if (i.getUserCount ()) + { + o << ::std::endl << "user-count: " << *i.getUserCount (); + } + + if (i.getActive ()) + { + o << ::std::endl << "active: " << *i.getActive (); + } + + if (i.getLocked ()) + { + o << ::std::endl << "locked: " << *i.getLocked (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ConferenceMediaType& i) + { + for (ConferenceMediaType::EntryConstIterator + b (i.getEntry ().begin ()), e (i.getEntry ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry: " << *b; + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ConferenceMediumType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + o << ::std::endl << "type: " << i.getType (); + if (i.getStatus ()) + { + o << ::std::endl << "status: " << *i.getStatus (); + } + + o << ::std::endl << "label: " << i.getLabel (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const UrisType& i) + { + for (UrisType::EntryConstIterator + b (i.getEntry ().begin ()), e (i.getEntry ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry: " << *b; + } + + o << ::std::endl << "state: " << i.getState (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const UriType& i) + { + o << ::std::endl << "uri: " << i.getUri (); + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getPurpose ()) + { + o << ::std::endl << "purpose: " << *i.getPurpose (); + } + + if (i.getModified ()) + { + o << ::std::endl << "modified: " << *i.getModified (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const KeywordsType& i) + { + return o << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char >& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const UsersType& i) + { + for (UsersType::UserConstIterator + b (i.getUser ().begin ()), e (i.getUser ().end ()); + b != e; ++b) + { + o << ::std::endl << "user: " << *b; + } + + o << ::std::endl << "state: " << i.getState (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const UserType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getAssociatedAors ()) + { + o << ::std::endl << "associated-aors: " << *i.getAssociatedAors (); + } + + if (i.getRoles ()) + { + o << ::std::endl << "roles: " << *i.getRoles (); + } + + if (i.getLanguages ()) + { + o << ::std::endl << "languages: " << *i.getLanguages (); + } + + if (i.getCascadedFocus ()) + { + o << ::std::endl << "cascaded-focus: " << *i.getCascadedFocus (); + } + + for (UserType::EndpointConstIterator + b (i.getEndpoint ().begin ()), e (i.getEndpoint ().end ()); + b != e; ++b) + { + o << ::std::endl << "endpoint: " << *b; + } + + if (i.getEntity ()) + { + o << ::std::endl << "entity: " << *i.getEntity (); + } + + o << ::std::endl << "state: " << i.getState (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const UserRolesType& i) + { + for (UserRolesType::EntryConstIterator + b (i.getEntry ().begin ()), e (i.getEntry ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry: " << *b; + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const UserLanguagesType& i) + { + return o << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char >& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const EndpointType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getReferred ()) + { + o << ::std::endl << "referred: " << *i.getReferred (); + } + + if (i.getStatus ()) + { + o << ::std::endl << "status: " << *i.getStatus (); + } + + if (i.getJoiningMethod ()) + { + o << ::std::endl << "joining-method: " << *i.getJoiningMethod (); + } + + if (i.getJoiningInfo ()) + { + o << ::std::endl << "joining-info: " << *i.getJoiningInfo (); + } + + if (i.getDisconnectionMethod ()) + { + o << ::std::endl << "disconnection-method: " << *i.getDisconnectionMethod (); + } + + if (i.getDisconnectionInfo ()) + { + o << ::std::endl << "disconnection-info: " << *i.getDisconnectionInfo (); + } + + for (EndpointType::MediaConstIterator + b (i.getMedia ().begin ()), e (i.getMedia ().end ()); + b != e; ++b) + { + o << ::std::endl << "media: " << *b; + } + + if (i.getCallInfo ()) + { + o << ::std::endl << "call-info: " << *i.getCallInfo (); + } + + if (i.getEntity ()) + { + o << ::std::endl << "entity: " << *i.getEntity (); + } + + o << ::std::endl << "state: " << i.getState (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, EndpointStatusType::Value i) + { + return o << EndpointStatusType::_xsd_EndpointStatusType_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const EndpointStatusType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, JoiningType::Value i) + { + return o << JoiningType::_xsd_JoiningType_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const JoiningType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, DisconnectionType::Value i) + { + return o << DisconnectionType::_xsd_DisconnectionType_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const DisconnectionType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const ExecutionType& i) + { + if (i.getWhen ()) + { + o << ::std::endl << "when: " << *i.getWhen (); + } + + if (i.getReason ()) + { + o << ::std::endl << "reason: " << *i.getReason (); + } + + if (i.getBy ()) + { + o << ::std::endl << "by: " << *i.getBy (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const CallType& i) + { + if (i.getSip ()) + { + o << ::std::endl << "sip: " << *i.getSip (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const SipDialogIdType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + o << ::std::endl << "call-id: " << i.getCallId (); + o << ::std::endl << "from-tag: " << i.getFromTag (); + o << ::std::endl << "to-tag: " << i.getToTag (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const MediaType& i) + { + if (i.getDisplayText ()) + { + o << ::std::endl << "display-text: " << *i.getDisplayText (); + } + + if (i.getType ()) + { + o << ::std::endl << "type: " << *i.getType (); + } + + if (i.getLabel ()) + { + o << ::std::endl << "label: " << *i.getLabel (); + } + + if (i.getSrcId ()) + { + o << ::std::endl << "src-id: " << *i.getSrcId (); + } + + if (i.getStatus ()) + { + o << ::std::endl << "status: " << *i.getStatus (); + } + + o << ::std::endl << "id: " << i.getId (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, MediaStatusType::Value i) + { + return o << MediaStatusType::_xsd_MediaStatusType_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const MediaStatusType& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, const SidebarsByValType& i) + { + for (SidebarsByValType::EntryConstIterator + b (i.getEntry ().begin ()), e (i.getEntry ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry: " << *b; + } + + o << ::std::endl << "state: " << i.getState (); + return o; + } + } + } } -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} +#include <istream> +#include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); + ::xsd::cxx::tree::error_handler< char > h; - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType>( - ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "conference-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "conference-info", - "urn:ietf:params:xml:ns:conference-info"); -} + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> -parseConferenceInfo(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); - if (n.name() == "conference-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType, char>::create(e, f, 0)); - return r; - } + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "conference-info", - "urn:ietf:params:xml:ns:conference-info"); + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > ( + ::LinphonePrivate::Xsd::ConferenceInfo::parseConferenceInfo ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "conference-info" && + n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "conference-info", + "urn:ietf:params:xml:ns:conference-info"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "conference-info" && + n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "conference-info", + "urn:ietf:params:xml:ns:conference-info"); + } + } + } } -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -5277,1189 +7577,1763 @@ parseConferenceInfo(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -void serializeConferenceInfo(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeConferenceInfo(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeConferenceInfo(::std::ostream &o, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeConferenceInfo(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeConferenceInfo(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeConferenceInfo(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeConferenceInfo(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "conference-info" && n.namespace_() == "urn:ietf:params:xml:ns:conference-info") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "conference-info", - "urn:ietf:params:xml:ns:conference-info"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeConferenceInfo(const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("conference-info", "urn:ietf:params:xml:ns:conference-info", m, f)); - - ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const ConferenceType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ConferenceType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // conference-description - // - if (i.getConferenceDescription()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("conference-description", - "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getConferenceDescription(); - } - - // host-info - // - if (i.getHostInfo()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("host-info", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getHostInfo(); - } - - // conference-state - // - if (i.getConferenceState()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("conference-state", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getConferenceState(); - } - - // users - // - if (i.getUsers()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("users", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getUsers(); - } - - // sidebars-by-ref - // - if (i.getSidebarsByRef()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("sidebars-by-ref", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getSidebarsByRef(); - } - - // sidebars-by-val - // - if (i.getSidebarsByVal()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("sidebars-by-val", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getSidebarsByVal(); - } - - // any - // - for (ConferenceType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // entity - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("entity", e)); - - a << i.getEntity(); - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } - - // version - // - if (i.getVersion()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("version", e)); - - a << *i.getVersion(); - } -} - -void operator<<(::xercesc::DOMElement &e, const StateType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const StateType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const StateType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const ConferenceDescriptionType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ConferenceDescriptionType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), - n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // subject - // - if (i.getSubject()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("subject", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getSubject(); - } - - // free-text - // - if (i.getFreeText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("free-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getFreeText(); - } - - // keywords - // - if (i.getKeywords()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("keywords", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getKeywords(); - } - - // conf-uris - // - if (i.getConfUris()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("conf-uris", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getConfUris(); - } - - // service-uris - // - if (i.getServiceUris()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("service-uris", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getServiceUris(); - } - - // maximum-user-count - // - if (i.getMaximumUserCount()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("maximum-user-count", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getMaximumUserCount(); - } - - // available-media - // - if (i.getAvailableMedia()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("available-media", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getAvailableMedia(); - } - - // any - // - for (ConferenceDescriptionType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const HostType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (HostType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // web-page - // - if (i.getWebPage()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("web-page", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getWebPage(); - } - - // uris - // - if (i.getUris()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("uris", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getUris(); - } - - // any - // - for (HostType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const ConferenceStateType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ConferenceStateType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // user-count - // - if (i.getUserCount()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("user-count", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getUserCount(); - } - - // active - // - if (i.getActive()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("active", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getActive(); - } - - // locked - // - if (i.getLocked()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("locked", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getLocked(); - } - - // any - // - for (ConferenceStateType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const ConferenceMediaType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ConferenceMediaType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // entry - // - for (ConferenceMediaType::EntryConstIterator b(i.getEntry().begin()), n(i.getEntry().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } -} - -void operator<<(::xercesc::DOMElement &e, const ConferenceMediumType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ConferenceMediumType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // type - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("type", "urn:ietf:params:xml:ns:conference-info", e)); - - s << i.getType(); - } - - // status - // - if (i.getStatus()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getStatus(); - } - - // any - // - for (ConferenceMediumType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // label - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("label", e)); - - a << i.getLabel(); - } -} - -void operator<<(::xercesc::DOMElement &e, const UrisType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (UrisType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // entry - // - for (UrisType::EntryConstIterator b(i.getEntry().begin()), n(i.getEntry().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } -} - -void operator<<(::xercesc::DOMElement &e, const UriType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (UriType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // uri - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("uri", "urn:ietf:params:xml:ns:conference-info", e)); - - s << i.getUri(); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // purpose - // - if (i.getPurpose()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("purpose", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getPurpose(); - } - - // modified - // - if (i.getModified()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("modified", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getModified(); - } - - // any - // - for (UriType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const KeywordsType &i) { - e << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char> &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const KeywordsType &i) { - a << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char> &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const KeywordsType &i) { - l << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char> &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const UsersType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (UsersType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // user - // - for (UsersType::UserConstIterator b(i.getUser().begin()), n(i.getUser().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("user", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } - - // any - // - for (UsersType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } -} - -void operator<<(::xercesc::DOMElement &e, const UserType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (UserType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // associated-aors - // - if (i.getAssociatedAors()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("associated-aors", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getAssociatedAors(); - } - - // roles - // - if (i.getRoles()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("roles", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getRoles(); - } - - // languages - // - if (i.getLanguages()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("languages", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getLanguages(); - } - - // cascaded-focus - // - if (i.getCascadedFocus()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("cascaded-focus", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getCascadedFocus(); - } - - // endpoint - // - for (UserType::EndpointConstIterator b(i.getEndpoint().begin()), n(i.getEndpoint().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("endpoint", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } - - // any - // - for (UserType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // entity - // - if (i.getEntity()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("entity", e)); - - a << *i.getEntity(); - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } -} - -void operator<<(::xercesc::DOMElement &e, const UserRolesType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (UserRolesType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // entry - // - for (UserRolesType::EntryConstIterator b(i.getEntry().begin()), n(i.getEntry().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } -} - -void operator<<(::xercesc::DOMElement &e, const UserLanguagesType &i) { - e << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char> &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const UserLanguagesType &i) { - a << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char> &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const UserLanguagesType &i) { - l << static_cast<const ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char> &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const EndpointType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (EndpointType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // referred - // - if (i.getReferred()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("referred", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getReferred(); - } - - // status - // - if (i.getStatus()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getStatus(); - } - - // joining-method - // - if (i.getJoiningMethod()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("joining-method", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getJoiningMethod(); - } - - // joining-info - // - if (i.getJoiningInfo()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("joining-info", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getJoiningInfo(); - } - - // disconnection-method - // - if (i.getDisconnectionMethod()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("disconnection-method", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisconnectionMethod(); - } - - // disconnection-info - // - if (i.getDisconnectionInfo()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("disconnection-info", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisconnectionInfo(); - } - - // media - // - for (EndpointType::MediaConstIterator b(i.getMedia().begin()), n(i.getMedia().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("media", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } - - // call-info - // - if (i.getCallInfo()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("call-info", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getCallInfo(); - } - - // any - // - for (EndpointType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // entity - // - if (i.getEntity()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("entity", e)); - - a << *i.getEntity(); - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } -} - -void operator<<(::xercesc::DOMElement &e, const EndpointStatusType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const EndpointStatusType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const EndpointStatusType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const JoiningType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const JoiningType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const JoiningType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const DisconnectionType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const DisconnectionType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const DisconnectionType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const ExecutionType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ExecutionType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // when - // - if (i.getWhen()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("when", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getWhen(); - } - - // reason - // - if (i.getReason()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("reason", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getReason(); - } - - // by - // - if (i.getBy()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("by", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getBy(); - } -} - -void operator<<(::xercesc::DOMElement &e, const CallType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (CallType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // sip - // - if (i.getSip()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("sip", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getSip(); - } - - // any - // - for (CallType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const SipDialogIdType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (SipDialogIdType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // call-id - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("call-id", "urn:ietf:params:xml:ns:conference-info", e)); - - s << i.getCallId(); - } - - // from-tag - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("from-tag", "urn:ietf:params:xml:ns:conference-info", e)); - - s << i.getFromTag(); - } - - // to-tag - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("to-tag", "urn:ietf:params:xml:ns:conference-info", e)); - - s << i.getToTag(); - } - - // any - // - for (SipDialogIdType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const MediaType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (MediaType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-text - // - if (i.getDisplayText()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-text", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getDisplayText(); - } - - // type - // - if (i.getType()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("type", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getType(); - } - - // label - // - if (i.getLabel()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("label", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getLabel(); - } - - // src-id - // - if (i.getSrcId()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("src-id", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getSrcId(); - } - - // status - // - if (i.getStatus()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *i.getStatus(); - } - - // any - // - for (MediaType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // id - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("id", e)); - - a << i.getId(); - } -} - -void operator<<(::xercesc::DOMElement &e, const MediaStatusType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const MediaStatusType &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const MediaStatusType &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const SidebarsByValType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (SidebarsByValType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); - b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // entry - // - for (SidebarsByValType::EntryConstIterator b(i.getEntry().begin()), n(i.getEntry().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry", "urn:ietf:params:xml:ns:conference-info", e)); - - s << *b; - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + void + serializeConferenceInfo (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeConferenceInfo (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeConferenceInfo (::std::ostream& o, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeConferenceInfo (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "conference-info" && + n.namespace_ () == "urn:ietf:params:xml:ns:conference-info") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "conference-info", + "urn:ietf:params:xml:ns:conference-info"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeConferenceInfo (const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "conference-info", + "urn:ietf:params:xml:ns:conference-info", + m, f)); + + ::LinphonePrivate::Xsd::ConferenceInfo::serializeConferenceInfo (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const ConferenceType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ConferenceType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // conference-description + // + if (i.getConferenceDescription ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "conference-description", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getConferenceDescription (); + } + + // host-info + // + if (i.getHostInfo ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "host-info", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getHostInfo (); + } + + // conference-state + // + if (i.getConferenceState ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "conference-state", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getConferenceState (); + } + + // users + // + if (i.getUsers ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "users", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getUsers (); + } + + // sidebars-by-ref + // + if (i.getSidebarsByRef ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "sidebars-by-ref", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getSidebarsByRef (); + } + + // sidebars-by-val + // + if (i.getSidebarsByVal ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "sidebars-by-val", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getSidebarsByVal (); + } + + // any + // + for (ConferenceType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // entity + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "entity", + e)); + + a << i.getEntity (); + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + + // version + // + if (i.getVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "version", + e)); + + a << *i.getVersion (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const StateType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const StateType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const StateType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const ConferenceDescriptionType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ConferenceDescriptionType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // subject + // + if (i.getSubject ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "subject", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getSubject (); + } + + // free-text + // + if (i.getFreeText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "free-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getFreeText (); + } + + // keywords + // + if (i.getKeywords ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "keywords", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getKeywords (); + } + + // conf-uris + // + if (i.getConfUris ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "conf-uris", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getConfUris (); + } + + // service-uris + // + if (i.getServiceUris ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "service-uris", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getServiceUris (); + } + + // maximum-user-count + // + if (i.getMaximumUserCount ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "maximum-user-count", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getMaximumUserCount (); + } + + // available-media + // + if (i.getAvailableMedia ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "available-media", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getAvailableMedia (); + } + + // any + // + for (ConferenceDescriptionType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const HostType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (HostType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // web-page + // + if (i.getWebPage ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "web-page", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getWebPage (); + } + + // uris + // + if (i.getUris ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uris", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getUris (); + } + + // any + // + for (HostType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const ConferenceStateType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ConferenceStateType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // user-count + // + if (i.getUserCount ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "user-count", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getUserCount (); + } + + // active + // + if (i.getActive ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "active", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getActive (); + } + + // locked + // + if (i.getLocked ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "locked", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getLocked (); + } + + // any + // + for (ConferenceStateType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const ConferenceMediaType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ConferenceMediaType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // entry + // + for (ConferenceMediaType::EntryConstIterator + b (i.getEntry ().begin ()), n (i.getEntry ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + } + + void + operator<< (::xercesc::DOMElement& e, const ConferenceMediumType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ConferenceMediumType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // type + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "type", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << i.getType (); + } + + // status + // + if (i.getStatus ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getStatus (); + } + + // any + // + for (ConferenceMediumType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // label + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "label", + e)); + + a << i.getLabel (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const UrisType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (UrisType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // entry + // + for (UrisType::EntryConstIterator + b (i.getEntry ().begin ()), n (i.getEntry ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const UriType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (UriType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // uri + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uri", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << i.getUri (); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // purpose + // + if (i.getPurpose ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "purpose", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getPurpose (); + } + + // modified + // + if (i.getModified ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "modified", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getModified (); + } + + // any + // + for (UriType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const KeywordsType& i) + { + e << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const KeywordsType& i) + { + a << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char >& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const KeywordsType& i) + { + l << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char >& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const UsersType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (UsersType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // user + // + for (UsersType::UserConstIterator + b (i.getUser ().begin ()), n (i.getUser ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "user", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + + // any + // + for (UsersType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const UserType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (UserType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // associated-aors + // + if (i.getAssociatedAors ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "associated-aors", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getAssociatedAors (); + } + + // roles + // + if (i.getRoles ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "roles", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getRoles (); + } + + // languages + // + if (i.getLanguages ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "languages", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getLanguages (); + } + + // cascaded-focus + // + if (i.getCascadedFocus ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "cascaded-focus", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getCascadedFocus (); + } + + // endpoint + // + for (UserType::EndpointConstIterator + b (i.getEndpoint ().begin ()), n (i.getEndpoint ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "endpoint", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + + // any + // + for (UserType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // entity + // + if (i.getEntity ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "entity", + e)); + + a << *i.getEntity (); + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const UserRolesType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (UserRolesType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // entry + // + for (UserRolesType::EntryConstIterator + b (i.getEntry ().begin ()), n (i.getEntry ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + } + + void + operator<< (::xercesc::DOMElement& e, const UserLanguagesType& i) + { + e << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UserLanguagesType& i) + { + a << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char >& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const UserLanguagesType& i) + { + l << static_cast< const ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char >& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const EndpointType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (EndpointType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // referred + // + if (i.getReferred ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "referred", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getReferred (); + } + + // status + // + if (i.getStatus ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getStatus (); + } + + // joining-method + // + if (i.getJoiningMethod ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "joining-method", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getJoiningMethod (); + } + + // joining-info + // + if (i.getJoiningInfo ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "joining-info", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getJoiningInfo (); + } + + // disconnection-method + // + if (i.getDisconnectionMethod ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "disconnection-method", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisconnectionMethod (); + } + + // disconnection-info + // + if (i.getDisconnectionInfo ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "disconnection-info", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisconnectionInfo (); + } + + // media + // + for (EndpointType::MediaConstIterator + b (i.getMedia ().begin ()), n (i.getMedia ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "media", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + + // call-info + // + if (i.getCallInfo ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "call-info", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getCallInfo (); + } + + // any + // + for (EndpointType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // entity + // + if (i.getEntity ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "entity", + e)); + + a << *i.getEntity (); + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const EndpointStatusType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const EndpointStatusType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const EndpointStatusType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const JoiningType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const JoiningType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const JoiningType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const DisconnectionType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DisconnectionType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const DisconnectionType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const ExecutionType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ExecutionType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // when + // + if (i.getWhen ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "when", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getWhen (); + } + + // reason + // + if (i.getReason ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reason", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getReason (); + } + + // by + // + if (i.getBy ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "by", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getBy (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const CallType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (CallType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // sip + // + if (i.getSip ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "sip", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getSip (); + } + + // any + // + for (CallType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const SipDialogIdType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (SipDialogIdType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // call-id + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "call-id", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << i.getCallId (); + } + + // from-tag + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "from-tag", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << i.getFromTag (); + } + + // to-tag + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "to-tag", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << i.getToTag (); + } + + // any + // + for (SipDialogIdType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const MediaType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (MediaType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-text + // + if (i.getDisplayText ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-text", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getDisplayText (); + } + + // type + // + if (i.getType ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "type", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getType (); + } + + // label + // + if (i.getLabel ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "label", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getLabel (); + } + + // src-id + // + if (i.getSrcId ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "src-id", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getSrcId (); + } + + // status + // + if (i.getStatus ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *i.getStatus (); + } + + // any + // + for (MediaType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // id + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "id", + e)); + + a << i.getId (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const MediaStatusType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const MediaStatusType& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const MediaStatusType& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const SidebarsByValType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (SidebarsByValType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // entry + // + for (SidebarsByValType::EntryConstIterator + b (i.getEntry ().begin ()), n (i.getEntry ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "urn:ietf:params:xml:ns:conference-info", + e)); + + s << *b; + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + } + } + } } -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/conference-info.h b/src/xml/conference-info.h index a454ac7400..a93c70d832 100644 --- a/src/xml/conference-info.h +++ b/src/xml/conference-info.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,235 +71,243 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -class ConferenceType; -class StateType; -class ConferenceDescriptionType; -class HostType; -class ConferenceStateType; -class ConferenceMediaType; -class ConferenceMediumType; -class UrisType; -class UriType; -class KeywordsType; -class UsersType; -class UserType; -class UserRolesType; -class UserLanguagesType; -class EndpointType; -class EndpointStatusType; -class JoiningType; -class DisconnectionType; -class ExecutionType; -class CallType; -class SipDialogIdType; -class MediaType; -class MediaStatusType; -class SidebarsByValType; -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + class ConferenceType; + class StateType; + class ConferenceDescriptionType; + class HostType; + class ConferenceStateType; + class ConferenceMediaType; + class ConferenceMediumType; + class UrisType; + class UriType; + class KeywordsType; + class UsersType; + class UserType; + class UserRolesType; + class UserLanguagesType; + class EndpointType; + class EndpointStatusType; + class JoiningType; + class DisconnectionType; + class ExecutionType; + class CallType; + class SipDialogIdType; + class MediaType; + class MediaStatusType; + class SidebarsByValType; + } + } +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> @@ -308,2702 +316,3374 @@ class SidebarsByValType; #include "xml.h" -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -class ConferenceType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // conference-description - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceDescriptionType ConferenceDescriptionType; - typedef ::xsd::cxx::tree::optional<ConferenceDescriptionType> ConferenceDescriptionOptional; - typedef ::xsd::cxx::tree::traits<ConferenceDescriptionType, char> ConferenceDescriptionTraits; - - const ConferenceDescriptionOptional &getConferenceDescription() const; - - ConferenceDescriptionOptional &getConferenceDescription(); - - void setConferenceDescription(const ConferenceDescriptionType &x); - - void setConferenceDescription(const ConferenceDescriptionOptional &x); - - void setConferenceDescription(::std::unique_ptr<ConferenceDescriptionType> p); - - // host-info - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::HostType HostInfoType; - typedef ::xsd::cxx::tree::optional<HostInfoType> HostInfoOptional; - typedef ::xsd::cxx::tree::traits<HostInfoType, char> HostInfoTraits; - - const HostInfoOptional &getHostInfo() const; - - HostInfoOptional &getHostInfo(); - - void setHostInfo(const HostInfoType &x); - - void setHostInfo(const HostInfoOptional &x); - - void setHostInfo(::std::unique_ptr<HostInfoType> p); - - // conference-state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceStateType ConferenceStateType; - typedef ::xsd::cxx::tree::optional<ConferenceStateType> ConferenceStateOptional; - typedef ::xsd::cxx::tree::traits<ConferenceStateType, char> ConferenceStateTraits; - - const ConferenceStateOptional &getConferenceState() const; - - ConferenceStateOptional &getConferenceState(); - - void setConferenceState(const ConferenceStateType &x); - - void setConferenceState(const ConferenceStateOptional &x); - - void setConferenceState(::std::unique_ptr<ConferenceStateType> p); - - // users - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UsersType UsersType; - typedef ::xsd::cxx::tree::optional<UsersType> UsersOptional; - typedef ::xsd::cxx::tree::traits<UsersType, char> UsersTraits; - - const UsersOptional &getUsers() const; - - UsersOptional &getUsers(); - - void setUsers(const UsersType &x); - - void setUsers(const UsersOptional &x); - - void setUsers(::std::unique_ptr<UsersType> p); - - // sidebars-by-ref - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType SidebarsByRefType; - typedef ::xsd::cxx::tree::optional<SidebarsByRefType> SidebarsByRefOptional; - typedef ::xsd::cxx::tree::traits<SidebarsByRefType, char> SidebarsByRefTraits; - - const SidebarsByRefOptional &getSidebarsByRef() const; - - SidebarsByRefOptional &getSidebarsByRef(); - - void setSidebarsByRef(const SidebarsByRefType &x); - - void setSidebarsByRef(const SidebarsByRefOptional &x); - - void setSidebarsByRef(::std::unique_ptr<SidebarsByRefType> p); - - // sidebars-by-val - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::SidebarsByValType SidebarsByValType; - typedef ::xsd::cxx::tree::optional<SidebarsByValType> SidebarsByValOptional; - typedef ::xsd::cxx::tree::traits<SidebarsByValType, char> SidebarsByValTraits; - - const SidebarsByValOptional &getSidebarsByVal() const; - - SidebarsByValOptional &getSidebarsByVal(); - - void setSidebarsByVal(const SidebarsByValType &x); - - void setSidebarsByVal(const SidebarsByValOptional &x); - - void setSidebarsByVal(::std::unique_ptr<SidebarsByValType> p); - - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; - - const AnySequence &getAny() const; - - AnySequence &getAny(); - - void setAny(const AnySequence &s); - - // entity - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri EntityType; - typedef ::xsd::cxx::tree::traits<EntityType, char> EntityTraits; - - const EntityType &getEntity() const; - - EntityType &getEntity(); - - void setEntity(const EntityType &x); - - void setEntity(::std::unique_ptr<EntityType> p); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + class ConferenceType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // conference-description + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceDescriptionType ConferenceDescriptionType; + typedef ::xsd::cxx::tree::optional< ConferenceDescriptionType > ConferenceDescriptionOptional; + typedef ::xsd::cxx::tree::traits< ConferenceDescriptionType, char > ConferenceDescriptionTraits; - ::std::unique_ptr<EntityType> setDetachEntity(); + const ConferenceDescriptionOptional& + getConferenceDescription () const; - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + ConferenceDescriptionOptional& + getConferenceDescription (); - const StateType &getState() const; + void + setConferenceDescription (const ConferenceDescriptionType& x); - StateType &getState(); + void + setConferenceDescription (const ConferenceDescriptionOptional& x); - void setState(const StateType &x); + void + setConferenceDescription (::std::unique_ptr< ConferenceDescriptionType > p); - void setState(::std::unique_ptr<StateType> p); + // host-info + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::HostType HostInfoType; + typedef ::xsd::cxx::tree::optional< HostInfoType > HostInfoOptional; + typedef ::xsd::cxx::tree::traits< HostInfoType, char > HostInfoTraits; - ::std::unique_ptr<StateType> setDetachState(); + const HostInfoOptional& + getHostInfo () const; - static const StateType &getStateDefaultValue(); + HostInfoOptional& + getHostInfo (); - // version - // - typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt VersionType; - typedef ::xsd::cxx::tree::optional<VersionType> VersionOptional; - typedef ::xsd::cxx::tree::traits<VersionType, char> VersionTraits; + void + setHostInfo (const HostInfoType& x); - const VersionOptional &getVersion() const; + void + setHostInfo (const HostInfoOptional& x); - VersionOptional &getVersion(); + void + setHostInfo (::std::unique_ptr< HostInfoType > p); - void setVersion(const VersionType &x); + // conference-state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceStateType ConferenceStateType; + typedef ::xsd::cxx::tree::optional< ConferenceStateType > ConferenceStateOptional; + typedef ::xsd::cxx::tree::traits< ConferenceStateType, char > ConferenceStateTraits; - void setVersion(const VersionOptional &x); + const ConferenceStateOptional& + getConferenceState () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + ConferenceStateOptional& + getConferenceState (); - const AnyAttributeSet &getAnyAttribute() const; + void + setConferenceState (const ConferenceStateType& x); - AnyAttributeSet &getAnyAttribute(); + void + setConferenceState (const ConferenceStateOptional& x); - void setAnyAttribute(const AnyAttributeSet &s); + void + setConferenceState (::std::unique_ptr< ConferenceStateType > p); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // users + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UsersType UsersType; + typedef ::xsd::cxx::tree::optional< UsersType > UsersOptional; + typedef ::xsd::cxx::tree::traits< UsersType, char > UsersTraits; - ::xercesc::DOMDocument &getDomDocument(); + const UsersOptional& + getUsers () const; - // Constructors. - // - ConferenceType(const EntityType &); + UsersOptional& + getUsers (); - ConferenceType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setUsers (const UsersType& x); - ConferenceType(const ConferenceType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setUsers (const UsersOptional& x); - virtual ConferenceType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setUsers (::std::unique_ptr< UsersType > p); - ConferenceType &operator=(const ConferenceType &x); + // sidebars-by-ref + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType SidebarsByRefType; + typedef ::xsd::cxx::tree::optional< SidebarsByRefType > SidebarsByRefOptional; + typedef ::xsd::cxx::tree::traits< SidebarsByRefType, char > SidebarsByRefTraits; - virtual ~ConferenceType(); + const SidebarsByRefOptional& + getSidebarsByRef () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + SidebarsByRefOptional& + getSidebarsByRef (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + void + setSidebarsByRef (const SidebarsByRefType& x); - ConferenceDescriptionOptional conference_description_; - HostInfoOptional host_info_; - ConferenceStateOptional conference_state_; - UsersOptional users_; - SidebarsByRefOptional sidebars_by_ref_; - SidebarsByValOptional sidebars_by_val_; - AnySequence any_; - ::xsd::cxx::tree::one<EntityType> entity_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - VersionOptional version_; - AnyAttributeSet any_attribute_; -}; + void + setSidebarsByRef (const SidebarsByRefOptional& x); -class StateType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { full, partial, deleted }; + void + setSidebarsByRef (::std::unique_ptr< SidebarsByRefType > p); - StateType(Value v); + // sidebars-by-val + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::SidebarsByValType SidebarsByValType; + typedef ::xsd::cxx::tree::optional< SidebarsByValType > SidebarsByValOptional; + typedef ::xsd::cxx::tree::traits< SidebarsByValType, char > SidebarsByValTraits; - StateType(const char *v); + const SidebarsByValOptional& + getSidebarsByVal () const; - StateType(const ::std::string &v); + SidebarsByValOptional& + getSidebarsByVal (); - StateType(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + void + setSidebarsByVal (const SidebarsByValType& x); - StateType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setSidebarsByVal (const SidebarsByValOptional& x); - StateType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setSidebarsByVal (::std::unique_ptr< SidebarsByValType > p); - StateType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - StateType(const StateType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const AnySequence& + getAny () const; - virtual StateType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + AnySequence& + getAny (); - StateType &operator=(Value v); + void + setAny (const AnySequence& s); - virtual operator Value() const { - return _xsd_StateType_convert(); - } + // entity + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri EntityType; + typedef ::xsd::cxx::tree::traits< EntityType, char > EntityTraits; -protected: - Value _xsd_StateType_convert() const; + const EntityType& + getEntity () const; -public: - static const char *const _xsd_StateType_literals_[3]; - static const Value _xsd_StateType_indexes_[3]; -}; + EntityType& + getEntity (); -class ConferenceDescriptionType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + void + setEntity (const EntityType& x); - const DisplayTextOptional &getDisplayText() const; + void + setEntity (::std::unique_ptr< EntityType > p); - DisplayTextOptional &getDisplayText(); + ::std::unique_ptr< EntityType > + setDetachEntity (); - void setDisplayText(const DisplayTextType &x); + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; - void setDisplayText(const DisplayTextOptional &x); + const StateType& + getState () const; - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + StateType& + getState (); - // subject - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String SubjectType; - typedef ::xsd::cxx::tree::optional<SubjectType> SubjectOptional; - typedef ::xsd::cxx::tree::traits<SubjectType, char> SubjectTraits; + void + setState (const StateType& x); - const SubjectOptional &getSubject() const; + void + setState (::std::unique_ptr< StateType > p); - SubjectOptional &getSubject(); + ::std::unique_ptr< StateType > + setDetachState (); - void setSubject(const SubjectType &x); + static const StateType& + getStateDefaultValue (); - void setSubject(const SubjectOptional &x); + // version + // + typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt VersionType; + typedef ::xsd::cxx::tree::optional< VersionType > VersionOptional; + typedef ::xsd::cxx::tree::traits< VersionType, char > VersionTraits; - void setSubject(::std::unique_ptr<SubjectType> p); + const VersionOptional& + getVersion () const; - // free-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String FreeTextType; - typedef ::xsd::cxx::tree::optional<FreeTextType> FreeTextOptional; - typedef ::xsd::cxx::tree::traits<FreeTextType, char> FreeTextTraits; + VersionOptional& + getVersion (); - const FreeTextOptional &getFreeText() const; + void + setVersion (const VersionType& x); - FreeTextOptional &getFreeText(); + void + setVersion (const VersionOptional& x); - void setFreeText(const FreeTextType &x); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - void setFreeText(const FreeTextOptional &x); + const AnyAttributeSet& + getAnyAttribute () const; - void setFreeText(::std::unique_ptr<FreeTextType> p); + AnyAttributeSet& + getAnyAttribute (); - // keywords - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::KeywordsType KeywordsType; - typedef ::xsd::cxx::tree::optional<KeywordsType> KeywordsOptional; - typedef ::xsd::cxx::tree::traits<KeywordsType, char> KeywordsTraits; + void + setAnyAttribute (const AnyAttributeSet& s); - const KeywordsOptional &getKeywords() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - KeywordsOptional &getKeywords(); + ::xercesc::DOMDocument& + getDomDocument (); - void setKeywords(const KeywordsType &x); + // Constructors. + // + ConferenceType (const EntityType&); - void setKeywords(const KeywordsOptional &x); + ConferenceType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setKeywords(::std::unique_ptr<KeywordsType> p); + ConferenceType (const ConferenceType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // conf-uris - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType ConfUrisType; - typedef ::xsd::cxx::tree::optional<ConfUrisType> ConfUrisOptional; - typedef ::xsd::cxx::tree::traits<ConfUrisType, char> ConfUrisTraits; + virtual ConferenceType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - const ConfUrisOptional &getConfUris() const; + ConferenceType& + operator= (const ConferenceType& x); - ConfUrisOptional &getConfUris(); + virtual + ~ConferenceType (); - void setConfUris(const ConfUrisType &x); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - void setConfUris(const ConfUrisOptional &x); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; + + ConferenceDescriptionOptional conference_description_; + HostInfoOptional host_info_; + ConferenceStateOptional conference_state_; + UsersOptional users_; + SidebarsByRefOptional sidebars_by_ref_; + SidebarsByValOptional sidebars_by_val_; + AnySequence any_; + ::xsd::cxx::tree::one< EntityType > entity_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + VersionOptional version_; + AnyAttributeSet any_attribute_; + }; - void setConfUris(::std::unique_ptr<ConfUrisType> p); + class StateType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + full, + partial, + deleted + }; + + StateType (Value v); + + StateType (const char* v); + + StateType (const ::std::string& v); + + StateType (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - // service-uris - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType ServiceUrisType; - typedef ::xsd::cxx::tree::optional<ServiceUrisType> ServiceUrisOptional; - typedef ::xsd::cxx::tree::traits<ServiceUrisType, char> ServiceUrisTraits; + StateType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const ServiceUrisOptional &getServiceUris() const; + StateType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + StateType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + StateType (const StateType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ServiceUrisOptional &getServiceUris(); + virtual StateType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setServiceUris(const ServiceUrisType &x); + StateType& + operator= (Value v); - void setServiceUris(const ServiceUrisOptional &x); + virtual + operator Value () const + { + return _xsd_StateType_convert (); + } + + protected: + Value + _xsd_StateType_convert () const; + + public: + static const char* const _xsd_StateType_literals_[3]; + static const Value _xsd_StateType_indexes_[3]; + }; - void setServiceUris(::std::unique_ptr<ServiceUrisType> p); + class ConferenceDescriptionType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - // maximum-user-count - // - typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt MaximumUserCountType; - typedef ::xsd::cxx::tree::optional<MaximumUserCountType> MaximumUserCountOptional; - typedef ::xsd::cxx::tree::traits<MaximumUserCountType, char> MaximumUserCountTraits; + const DisplayTextOptional& + getDisplayText () const; - const MaximumUserCountOptional &getMaximumUserCount() const; + DisplayTextOptional& + getDisplayText (); - MaximumUserCountOptional &getMaximumUserCount(); + void + setDisplayText (const DisplayTextType& x); - void setMaximumUserCount(const MaximumUserCountType &x); + void + setDisplayText (const DisplayTextOptional& x); - void setMaximumUserCount(const MaximumUserCountOptional &x); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - // available-media - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceMediaType AvailableMediaType; - typedef ::xsd::cxx::tree::optional<AvailableMediaType> AvailableMediaOptional; - typedef ::xsd::cxx::tree::traits<AvailableMediaType, char> AvailableMediaTraits; + // subject + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String SubjectType; + typedef ::xsd::cxx::tree::optional< SubjectType > SubjectOptional; + typedef ::xsd::cxx::tree::traits< SubjectType, char > SubjectTraits; - const AvailableMediaOptional &getAvailableMedia() const; + const SubjectOptional& + getSubject () const; - AvailableMediaOptional &getAvailableMedia(); + SubjectOptional& + getSubject (); - void setAvailableMedia(const AvailableMediaType &x); + void + setSubject (const SubjectType& x); - void setAvailableMedia(const AvailableMediaOptional &x); + void + setSubject (const SubjectOptional& x); - void setAvailableMedia(::std::unique_ptr<AvailableMediaType> p); + void + setSubject (::std::unique_ptr< SubjectType > p); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // free-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String FreeTextType; + typedef ::xsd::cxx::tree::optional< FreeTextType > FreeTextOptional; + typedef ::xsd::cxx::tree::traits< FreeTextType, char > FreeTextTraits; - const AnySequence &getAny() const; + const FreeTextOptional& + getFreeText () const; - AnySequence &getAny(); + FreeTextOptional& + getFreeText (); - void setAny(const AnySequence &s); + void + setFreeText (const FreeTextType& x); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + void + setFreeText (const FreeTextOptional& x); - const AnyAttributeSet &getAnyAttribute() const; + void + setFreeText (::std::unique_ptr< FreeTextType > p); - AnyAttributeSet &getAnyAttribute(); + // keywords + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::KeywordsType KeywordsType; + typedef ::xsd::cxx::tree::optional< KeywordsType > KeywordsOptional; + typedef ::xsd::cxx::tree::traits< KeywordsType, char > KeywordsTraits; - void setAnyAttribute(const AnyAttributeSet &s); + const KeywordsOptional& + getKeywords () const; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + KeywordsOptional& + getKeywords (); - ::xercesc::DOMDocument &getDomDocument(); + void + setKeywords (const KeywordsType& x); - // Constructors. - // - ConferenceDescriptionType(); + void + setKeywords (const KeywordsOptional& x); - ConferenceDescriptionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setKeywords (::std::unique_ptr< KeywordsType > p); - ConferenceDescriptionType(const ConferenceDescriptionType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // conf-uris + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType ConfUrisType; + typedef ::xsd::cxx::tree::optional< ConfUrisType > ConfUrisOptional; + typedef ::xsd::cxx::tree::traits< ConfUrisType, char > ConfUrisTraits; - virtual ConferenceDescriptionType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + const ConfUrisOptional& + getConfUris () const; - ConferenceDescriptionType &operator=(const ConferenceDescriptionType &x); + ConfUrisOptional& + getConfUris (); - virtual ~ConferenceDescriptionType(); + void + setConfUris (const ConfUrisType& x); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + void + setConfUris (const ConfUrisOptional& x); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + void + setConfUris (::std::unique_ptr< ConfUrisType > p); - DisplayTextOptional display_text_; - SubjectOptional subject_; - FreeTextOptional free_text_; - KeywordsOptional keywords_; - ConfUrisOptional conf_uris_; - ServiceUrisOptional service_uris_; - MaximumUserCountOptional maximum_user_count_; - AvailableMediaOptional available_media_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; + // service-uris + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType ServiceUrisType; + typedef ::xsd::cxx::tree::optional< ServiceUrisType > ServiceUrisOptional; + typedef ::xsd::cxx::tree::traits< ServiceUrisType, char > ServiceUrisTraits; -class HostType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + const ServiceUrisOptional& + getServiceUris () const; - const DisplayTextOptional &getDisplayText() const; + ServiceUrisOptional& + getServiceUris (); - DisplayTextOptional &getDisplayText(); + void + setServiceUris (const ServiceUrisType& x); - void setDisplayText(const DisplayTextType &x); + void + setServiceUris (const ServiceUrisOptional& x); - void setDisplayText(const DisplayTextOptional &x); + void + setServiceUris (::std::unique_ptr< ServiceUrisType > p); - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + // maximum-user-count + // + typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt MaximumUserCountType; + typedef ::xsd::cxx::tree::optional< MaximumUserCountType > MaximumUserCountOptional; + typedef ::xsd::cxx::tree::traits< MaximumUserCountType, char > MaximumUserCountTraits; - // web-page - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri WebPageType; - typedef ::xsd::cxx::tree::optional<WebPageType> WebPageOptional; - typedef ::xsd::cxx::tree::traits<WebPageType, char> WebPageTraits; + const MaximumUserCountOptional& + getMaximumUserCount () const; - const WebPageOptional &getWebPage() const; + MaximumUserCountOptional& + getMaximumUserCount (); - WebPageOptional &getWebPage(); + void + setMaximumUserCount (const MaximumUserCountType& x); - void setWebPage(const WebPageType &x); + void + setMaximumUserCount (const MaximumUserCountOptional& x); - void setWebPage(const WebPageOptional &x); + // available-media + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceMediaType AvailableMediaType; + typedef ::xsd::cxx::tree::optional< AvailableMediaType > AvailableMediaOptional; + typedef ::xsd::cxx::tree::traits< AvailableMediaType, char > AvailableMediaTraits; - void setWebPage(::std::unique_ptr<WebPageType> p); + const AvailableMediaOptional& + getAvailableMedia () const; - // uris - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType UrisType; - typedef ::xsd::cxx::tree::optional<UrisType> UrisOptional; - typedef ::xsd::cxx::tree::traits<UrisType, char> UrisTraits; + AvailableMediaOptional& + getAvailableMedia (); - const UrisOptional &getUris() const; + void + setAvailableMedia (const AvailableMediaType& x); - UrisOptional &getUris(); + void + setAvailableMedia (const AvailableMediaOptional& x); - void setUris(const UrisType &x); + void + setAvailableMedia (::std::unique_ptr< AvailableMediaType > p); - void setUris(const UrisOptional &x); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - void setUris(::std::unique_ptr<UrisType> p); + const AnySequence& + getAny () const; - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + AnySequence& + getAny (); - const AnySequence &getAny() const; + void + setAny (const AnySequence& s); - AnySequence &getAny(); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - void setAny(const AnySequence &s); + const AnyAttributeSet& + getAnyAttribute () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + AnyAttributeSet& + getAnyAttribute (); - const AnyAttributeSet &getAnyAttribute() const; + void + setAnyAttribute (const AnyAttributeSet& s); - AnyAttributeSet &getAnyAttribute(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setAnyAttribute(const AnyAttributeSet &s); + ::xercesc::DOMDocument& + getDomDocument (); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // Constructors. + // + ConferenceDescriptionType (); - ::xercesc::DOMDocument &getDomDocument(); + ConferenceDescriptionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // Constructors. - // - HostType(); + ConferenceDescriptionType (const ConferenceDescriptionType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - HostType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual ConferenceDescriptionType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - HostType(const HostType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ConferenceDescriptionType& + operator= (const ConferenceDescriptionType& x); - virtual HostType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual + ~ConferenceDescriptionType (); - HostType &operator=(const HostType &x); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - virtual ~HostType(); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + DisplayTextOptional display_text_; + SubjectOptional subject_; + FreeTextOptional free_text_; + KeywordsOptional keywords_; + ConfUrisOptional conf_uris_; + ServiceUrisOptional service_uris_; + MaximumUserCountOptional maximum_user_count_; + AvailableMediaOptional available_media_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + class HostType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - DisplayTextOptional display_text_; - WebPageOptional web_page_; - UrisOptional uris_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; + const DisplayTextOptional& + getDisplayText () const; -class ConferenceStateType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // user-count - // - typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt UserCountType; - typedef ::xsd::cxx::tree::optional<UserCountType> UserCountOptional; - typedef ::xsd::cxx::tree::traits<UserCountType, char> UserCountTraits; + DisplayTextOptional& + getDisplayText (); - const UserCountOptional &getUserCount() const; + void + setDisplayText (const DisplayTextType& x); - UserCountOptional &getUserCount(); + void + setDisplayText (const DisplayTextOptional& x); - void setUserCount(const UserCountType &x); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - void setUserCount(const UserCountOptional &x); + // web-page + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri WebPageType; + typedef ::xsd::cxx::tree::optional< WebPageType > WebPageOptional; + typedef ::xsd::cxx::tree::traits< WebPageType, char > WebPageTraits; - // active - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean ActiveType; - typedef ::xsd::cxx::tree::optional<ActiveType> ActiveOptional; - typedef ::xsd::cxx::tree::traits<ActiveType, char> ActiveTraits; + const WebPageOptional& + getWebPage () const; - const ActiveOptional &getActive() const; + WebPageOptional& + getWebPage (); - ActiveOptional &getActive(); + void + setWebPage (const WebPageType& x); - void setActive(const ActiveType &x); + void + setWebPage (const WebPageOptional& x); - void setActive(const ActiveOptional &x); + void + setWebPage (::std::unique_ptr< WebPageType > p); - // locked - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean LockedType; - typedef ::xsd::cxx::tree::optional<LockedType> LockedOptional; - typedef ::xsd::cxx::tree::traits<LockedType, char> LockedTraits; + // uris + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType UrisType; + typedef ::xsd::cxx::tree::optional< UrisType > UrisOptional; + typedef ::xsd::cxx::tree::traits< UrisType, char > UrisTraits; + + const UrisOptional& + getUris () const; + + UrisOptional& + getUris (); + + void + setUris (const UrisType& x); + + void + setUris (const UrisOptional& x); + + void + setUris (::std::unique_ptr< UrisType > p); + + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; + + const AnySequence& + getAny () const; + + AnySequence& + getAny (); + + void + setAny (const AnySequence& s); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + + const AnyAttributeSet& + getAnyAttribute () const; + + AnyAttributeSet& + getAnyAttribute (); - const LockedOptional &getLocked() const; + void + setAnyAttribute (const AnyAttributeSet& s); - LockedOptional &getLocked(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setLocked(const LockedType &x); + ::xercesc::DOMDocument& + getDomDocument (); - void setLocked(const LockedOptional &x); + // Constructors. + // + HostType (); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + HostType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const AnySequence &getAny() const; + HostType (const HostType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - AnySequence &getAny(); + virtual HostType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setAny(const AnySequence &s); + HostType& + operator= (const HostType& x); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + virtual + ~HostType (); - const AnyAttributeSet &getAnyAttribute() const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - AnyAttributeSet &getAnyAttribute(); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - void setAnyAttribute(const AnyAttributeSet &s); + DisplayTextOptional display_text_; + WebPageOptional web_page_; + UrisOptional uris_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + class ConferenceStateType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // user-count + // + typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt UserCountType; + typedef ::xsd::cxx::tree::optional< UserCountType > UserCountOptional; + typedef ::xsd::cxx::tree::traits< UserCountType, char > UserCountTraits; - ::xercesc::DOMDocument &getDomDocument(); + const UserCountOptional& + getUserCount () const; - // Constructors. - // - ConferenceStateType(); + UserCountOptional& + getUserCount (); - ConferenceStateType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setUserCount (const UserCountType& x); - ConferenceStateType(const ConferenceStateType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setUserCount (const UserCountOptional& x); - virtual ConferenceStateType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + // active + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean ActiveType; + typedef ::xsd::cxx::tree::optional< ActiveType > ActiveOptional; + typedef ::xsd::cxx::tree::traits< ActiveType, char > ActiveTraits; - ConferenceStateType &operator=(const ConferenceStateType &x); + const ActiveOptional& + getActive () const; - virtual ~ConferenceStateType(); + ActiveOptional& + getActive (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + void + setActive (const ActiveType& x); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + void + setActive (const ActiveOptional& x); + + // locked + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean LockedType; + typedef ::xsd::cxx::tree::optional< LockedType > LockedOptional; + typedef ::xsd::cxx::tree::traits< LockedType, char > LockedTraits; + + const LockedOptional& + getLocked () const; + + LockedOptional& + getLocked (); + + void + setLocked (const LockedType& x); + + void + setLocked (const LockedOptional& x); + + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; + + const AnySequence& + getAny () const; + + AnySequence& + getAny (); - UserCountOptional user_count_; - ActiveOptional active_; - LockedOptional locked_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; + void + setAny (const AnySequence& s); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + + const AnyAttributeSet& + getAnyAttribute () const; + + AnyAttributeSet& + getAnyAttribute (); + + void + setAnyAttribute (const AnyAttributeSet& s); + + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; + + ::xercesc::DOMDocument& + getDomDocument (); + + // Constructors. + // + ConferenceStateType (); -class ConferenceMediaType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // entry - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceMediumType EntryType; - typedef ::xsd::cxx::tree::sequence<EntryType> EntrySequence; - typedef EntrySequence::iterator EntryIterator; - typedef EntrySequence::const_iterator EntryConstIterator; - typedef ::xsd::cxx::tree::traits<EntryType, char> EntryTraits; + ConferenceStateType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const EntrySequence &getEntry() const; + ConferenceStateType (const ConferenceStateType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - EntrySequence &getEntry(); + virtual ConferenceStateType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setEntry(const EntrySequence &s); + ConferenceStateType& + operator= (const ConferenceStateType& x); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + virtual + ~ConferenceStateType (); - const AnyAttributeSet &getAnyAttribute() const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - AnyAttributeSet &getAnyAttribute(); + UserCountOptional user_count_; + ActiveOptional active_; + LockedOptional locked_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; - void setAnyAttribute(const AnyAttributeSet &s); + class ConferenceMediaType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // entry + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceMediumType EntryType; + typedef ::xsd::cxx::tree::sequence< EntryType > EntrySequence; + typedef EntrySequence::iterator EntryIterator; + typedef EntrySequence::const_iterator EntryConstIterator; + typedef ::xsd::cxx::tree::traits< EntryType, char > EntryTraits; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + const EntrySequence& + getEntry () const; - ::xercesc::DOMDocument &getDomDocument(); + EntrySequence& + getEntry (); - // Constructors. - // - ConferenceMediaType(); + void + setEntry (const EntrySequence& s); - ConferenceMediaType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - ConferenceMediaType(const ConferenceMediaType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const AnyAttributeSet& + getAnyAttribute () const; - virtual ConferenceMediaType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + AnyAttributeSet& + getAnyAttribute (); - ConferenceMediaType &operator=(const ConferenceMediaType &x); + void + setAnyAttribute (const AnyAttributeSet& s); - virtual ~ConferenceMediaType(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + ::xercesc::DOMDocument& + getDomDocument (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + // Constructors. + // + ConferenceMediaType (); - EntrySequence entry_; - AnyAttributeSet any_attribute_; -}; + ConferenceMediaType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -class ConferenceMediumType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + ConferenceMediaType (const ConferenceMediaType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const DisplayTextOptional &getDisplayText() const; + virtual ConferenceMediaType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - DisplayTextOptional &getDisplayText(); + ConferenceMediaType& + operator= (const ConferenceMediaType& x); - void setDisplayText(const DisplayTextType &x); + virtual + ~ConferenceMediaType (); - void setDisplayText(const DisplayTextOptional &x); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - // type - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String TypeType; - typedef ::xsd::cxx::tree::traits<TypeType, char> TypeTraits; + EntrySequence entry_; + AnyAttributeSet any_attribute_; + }; - const TypeType &getType() const; + class ConferenceMediumType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - TypeType &getType(); + const DisplayTextOptional& + getDisplayText () const; - void setType(const TypeType &x); + DisplayTextOptional& + getDisplayText (); - void setType(::std::unique_ptr<TypeType> p); + void + setDisplayText (const DisplayTextType& x); - ::std::unique_ptr<TypeType> setDetachType(); + void + setDisplayText (const DisplayTextOptional& x); - // status - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType StatusType; - typedef ::xsd::cxx::tree::optional<StatusType> StatusOptional; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - const StatusOptional &getStatus() const; + // type + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String TypeType; + typedef ::xsd::cxx::tree::traits< TypeType, char > TypeTraits; - StatusOptional &getStatus(); + const TypeType& + getType () const; - void setStatus(const StatusType &x); + TypeType& + getType (); - void setStatus(const StatusOptional &x); + void + setType (const TypeType& x); - void setStatus(::std::unique_ptr<StatusType> p); + void + setType (::std::unique_ptr< TypeType > p); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + ::std::unique_ptr< TypeType > + setDetachType (); - const AnySequence &getAny() const; + // status + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType StatusType; + typedef ::xsd::cxx::tree::optional< StatusType > StatusOptional; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; - AnySequence &getAny(); + const StatusOptional& + getStatus () const; - void setAny(const AnySequence &s); + StatusOptional& + getStatus (); - // label - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String LabelType; - typedef ::xsd::cxx::tree::traits<LabelType, char> LabelTraits; + void + setStatus (const StatusType& x); - const LabelType &getLabel() const; + void + setStatus (const StatusOptional& x); - LabelType &getLabel(); + void + setStatus (::std::unique_ptr< StatusType > p); - void setLabel(const LabelType &x); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - void setLabel(::std::unique_ptr<LabelType> p); + const AnySequence& + getAny () const; - ::std::unique_ptr<LabelType> setDetachLabel(); + AnySequence& + getAny (); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + void + setAny (const AnySequence& s); - const AnyAttributeSet &getAnyAttribute() const; + // label + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String LabelType; + typedef ::xsd::cxx::tree::traits< LabelType, char > LabelTraits; - AnyAttributeSet &getAnyAttribute(); + const LabelType& + getLabel () const; - void setAnyAttribute(const AnyAttributeSet &s); + LabelType& + getLabel (); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + void + setLabel (const LabelType& x); - ::xercesc::DOMDocument &getDomDocument(); + void + setLabel (::std::unique_ptr< LabelType > p); - // Constructors. - // - ConferenceMediumType(const TypeType &, const LabelType &); + ::std::unique_ptr< LabelType > + setDetachLabel (); - ConferenceMediumType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - ConferenceMediumType(const ConferenceMediumType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const AnyAttributeSet& + getAnyAttribute () const; - virtual ConferenceMediumType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + AnyAttributeSet& + getAnyAttribute (); - ConferenceMediumType &operator=(const ConferenceMediumType &x); + void + setAnyAttribute (const AnyAttributeSet& s); - virtual ~ConferenceMediumType(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + ::xercesc::DOMDocument& + getDomDocument (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + // Constructors. + // + ConferenceMediumType (const TypeType&, + const LabelType&); - DisplayTextOptional display_text_; - ::xsd::cxx::tree::one<TypeType> type_; - StatusOptional status_; - AnySequence any_; - ::xsd::cxx::tree::one<LabelType> label_; - AnyAttributeSet any_attribute_; -}; + ConferenceMediumType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -class UrisType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // entry - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UriType EntryType; - typedef ::xsd::cxx::tree::sequence<EntryType> EntrySequence; - typedef EntrySequence::iterator EntryIterator; - typedef EntrySequence::const_iterator EntryConstIterator; - typedef ::xsd::cxx::tree::traits<EntryType, char> EntryTraits; + ConferenceMediumType (const ConferenceMediumType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const EntrySequence &getEntry() const; + virtual ConferenceMediumType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - EntrySequence &getEntry(); + ConferenceMediumType& + operator= (const ConferenceMediumType& x); - void setEntry(const EntrySequence &s); + virtual + ~ConferenceMediumType (); - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - const StateType &getState() const; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - StateType &getState(); + DisplayTextOptional display_text_; + ::xsd::cxx::tree::one< TypeType > type_; + StatusOptional status_; + AnySequence any_; + ::xsd::cxx::tree::one< LabelType > label_; + AnyAttributeSet any_attribute_; + }; - void setState(const StateType &x); + class UrisType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // entry + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UriType EntryType; + typedef ::xsd::cxx::tree::sequence< EntryType > EntrySequence; + typedef EntrySequence::iterator EntryIterator; + typedef EntrySequence::const_iterator EntryConstIterator; + typedef ::xsd::cxx::tree::traits< EntryType, char > EntryTraits; + + const EntrySequence& + getEntry () const; + + EntrySequence& + getEntry (); + + void + setEntry (const EntrySequence& s); - void setState(::std::unique_ptr<StateType> p); + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; - ::std::unique_ptr<StateType> setDetachState(); + const StateType& + getState () const; - static const StateType &getStateDefaultValue(); + StateType& + getState (); + + void + setState (const StateType& x); + + void + setState (::std::unique_ptr< StateType > p); + + ::std::unique_ptr< StateType > + setDetachState (); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + static const StateType& + getStateDefaultValue (); - const AnyAttributeSet &getAnyAttribute() const; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - AnyAttributeSet &getAnyAttribute(); + const AnyAttributeSet& + getAnyAttribute () const; + + AnyAttributeSet& + getAnyAttribute (); - void setAnyAttribute(const AnyAttributeSet &s); + void + setAnyAttribute (const AnyAttributeSet& s); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - ::xercesc::DOMDocument &getDomDocument(); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - UrisType(); + // Constructors. + // + UrisType (); - UrisType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + UrisType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - UrisType(const UrisType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + UrisType (const UrisType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual UrisType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual UrisType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - UrisType &operator=(const UrisType &x); + UrisType& + operator= (const UrisType& x); - virtual ~UrisType(); + virtual + ~UrisType (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - EntrySequence entry_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - AnyAttributeSet any_attribute_; -}; + EntrySequence entry_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + AnyAttributeSet any_attribute_; + }; -class UriType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType1; - typedef ::xsd::cxx::tree::traits<UriType1, char> UriTraits; + class UriType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType1; + typedef ::xsd::cxx::tree::traits< UriType1, char > UriTraits; - const UriType1 &getUri() const; + const UriType1& + getUri () const; - UriType1 &getUri(); + UriType1& + getUri (); - void setUri(const UriType1 &x); + void + setUri (const UriType1& x); - void setUri(::std::unique_ptr<UriType1> p); + void + setUri (::std::unique_ptr< UriType1 > p); - ::std::unique_ptr<UriType1> setDetachUri(); + ::std::unique_ptr< UriType1 > + setDetachUri (); - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - const DisplayTextOptional &getDisplayText() const; + const DisplayTextOptional& + getDisplayText () const; - DisplayTextOptional &getDisplayText(); + DisplayTextOptional& + getDisplayText (); - void setDisplayText(const DisplayTextType &x); + void + setDisplayText (const DisplayTextType& x); - void setDisplayText(const DisplayTextOptional &x); + void + setDisplayText (const DisplayTextOptional& x); - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - // purpose - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String PurposeType; - typedef ::xsd::cxx::tree::optional<PurposeType> PurposeOptional; - typedef ::xsd::cxx::tree::traits<PurposeType, char> PurposeTraits; + // purpose + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String PurposeType; + typedef ::xsd::cxx::tree::optional< PurposeType > PurposeOptional; + typedef ::xsd::cxx::tree::traits< PurposeType, char > PurposeTraits; - const PurposeOptional &getPurpose() const; + const PurposeOptional& + getPurpose () const; - PurposeOptional &getPurpose(); + PurposeOptional& + getPurpose (); - void setPurpose(const PurposeType &x); + void + setPurpose (const PurposeType& x); - void setPurpose(const PurposeOptional &x); + void + setPurpose (const PurposeOptional& x); - void setPurpose(::std::unique_ptr<PurposeType> p); + void + setPurpose (::std::unique_ptr< PurposeType > p); - // modified - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType ModifiedType; - typedef ::xsd::cxx::tree::optional<ModifiedType> ModifiedOptional; - typedef ::xsd::cxx::tree::traits<ModifiedType, char> ModifiedTraits; + // modified + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType ModifiedType; + typedef ::xsd::cxx::tree::optional< ModifiedType > ModifiedOptional; + typedef ::xsd::cxx::tree::traits< ModifiedType, char > ModifiedTraits; - const ModifiedOptional &getModified() const; + const ModifiedOptional& + getModified () const; - ModifiedOptional &getModified(); + ModifiedOptional& + getModified (); - void setModified(const ModifiedType &x); + void + setModified (const ModifiedType& x); - void setModified(const ModifiedOptional &x); + void + setModified (const ModifiedOptional& x); - void setModified(::std::unique_ptr<ModifiedType> p); + void + setModified (::std::unique_ptr< ModifiedType > p); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - const AnySequence &getAny() const; + const AnySequence& + getAny () const; - AnySequence &getAny(); + AnySequence& + getAny (); - void setAny(const AnySequence &s); + void + setAny (const AnySequence& s); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - const AnyAttributeSet &getAnyAttribute() const; + const AnyAttributeSet& + getAnyAttribute () const; - AnyAttributeSet &getAnyAttribute(); + AnyAttributeSet& + getAnyAttribute (); - void setAnyAttribute(const AnyAttributeSet &s); + void + setAnyAttribute (const AnyAttributeSet& s); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - ::xercesc::DOMDocument &getDomDocument(); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - UriType(const UriType1 &); + // Constructors. + // + UriType (const UriType1&); - UriType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + UriType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - UriType(const UriType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + UriType (const UriType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual UriType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual UriType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - UriType &operator=(const UriType &x); + UriType& + operator= (const UriType& x); - virtual ~UriType(); + virtual + ~UriType (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - ::xsd::cxx::tree::one<UriType1> uri_; - DisplayTextOptional display_text_; - PurposeOptional purpose_; - ModifiedOptional modified_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; + ::xsd::cxx::tree::one< UriType1 > uri_; + DisplayTextOptional display_text_; + PurposeOptional purpose_; + ModifiedOptional modified_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; -class KeywordsType : public ::LinphonePrivate::Xsd::XmlSchema::SimpleType, - public ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char> { -public: - KeywordsType(); + class KeywordsType: public ::LinphonePrivate::Xsd::XmlSchema::SimpleType, + public ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > + { + public: + KeywordsType (); - KeywordsType(size_type n, const ::LinphonePrivate::Xsd::XmlSchema::String &x); + KeywordsType (size_type n, const ::LinphonePrivate::Xsd::XmlSchema::String& x); - template <typename I> - KeywordsType(const I &begin, const I &end) - : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::String, char>(begin, end, this) { - } + template < typename I > + KeywordsType (const I& begin, const I& end) + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::String, char > (begin, end, this) + { + } - KeywordsType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + KeywordsType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - KeywordsType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + KeywordsType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - KeywordsType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + KeywordsType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - KeywordsType(const KeywordsType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + KeywordsType (const KeywordsType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual KeywordsType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual KeywordsType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~KeywordsType (); + }; - virtual ~KeywordsType(); -}; + class UsersType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // user + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserType UserType; + typedef ::xsd::cxx::tree::sequence< UserType > UserSequence; + typedef UserSequence::iterator UserIterator; + typedef UserSequence::const_iterator UserConstIterator; + typedef ::xsd::cxx::tree::traits< UserType, char > UserTraits; + + const UserSequence& + getUser () const; + + UserSequence& + getUser (); + + void + setUser (const UserSequence& s); + + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; + + const AnySequence& + getAny () const; + + AnySequence& + getAny (); + + void + setAny (const AnySequence& s); + + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; + + const StateType& + getState () const; + + StateType& + getState (); + + void + setState (const StateType& x); + + void + setState (::std::unique_ptr< StateType > p); + + ::std::unique_ptr< StateType > + setDetachState (); + + static const StateType& + getStateDefaultValue (); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; -class UsersType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // user - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserType UserType; - typedef ::xsd::cxx::tree::sequence<UserType> UserSequence; - typedef UserSequence::iterator UserIterator; - typedef UserSequence::const_iterator UserConstIterator; - typedef ::xsd::cxx::tree::traits<UserType, char> UserTraits; + const AnyAttributeSet& + getAnyAttribute () const; - const UserSequence &getUser() const; + AnyAttributeSet& + getAnyAttribute (); + + void + setAnyAttribute (const AnyAttributeSet& s); - UserSequence &getUser(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setUser(const UserSequence &s); + ::xercesc::DOMDocument& + getDomDocument (); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // Constructors. + // + UsersType (); - const AnySequence &getAny() const; + UsersType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - AnySequence &getAny(); + UsersType (const UsersType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setAny(const AnySequence &s); + virtual UsersType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + UsersType& + operator= (const UsersType& x); - const StateType &getState() const; + virtual + ~UsersType (); - StateType &getState(); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - void setState(const StateType &x); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - void setState(::std::unique_ptr<StateType> p); + UserSequence user_; + AnySequence any_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + AnyAttributeSet any_attribute_; + }; - ::std::unique_ptr<StateType> setDetachState(); + class UserType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - static const StateType &getStateDefaultValue(); + const DisplayTextOptional& + getDisplayText () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + DisplayTextOptional& + getDisplayText (); - const AnyAttributeSet &getAnyAttribute() const; + void + setDisplayText (const DisplayTextType& x); - AnyAttributeSet &getAnyAttribute(); + void + setDisplayText (const DisplayTextOptional& x); - void setAnyAttribute(const AnyAttributeSet &s); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // associated-aors + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType AssociatedAorsType; + typedef ::xsd::cxx::tree::optional< AssociatedAorsType > AssociatedAorsOptional; + typedef ::xsd::cxx::tree::traits< AssociatedAorsType, char > AssociatedAorsTraits; - ::xercesc::DOMDocument &getDomDocument(); + const AssociatedAorsOptional& + getAssociatedAors () const; - // Constructors. - // - UsersType(); + AssociatedAorsOptional& + getAssociatedAors (); - UsersType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setAssociatedAors (const AssociatedAorsType& x); - UsersType(const UsersType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setAssociatedAors (const AssociatedAorsOptional& x); - virtual UsersType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setAssociatedAors (::std::unique_ptr< AssociatedAorsType > p); - UsersType &operator=(const UsersType &x); + // roles + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserRolesType RolesType; + typedef ::xsd::cxx::tree::optional< RolesType > RolesOptional; + typedef ::xsd::cxx::tree::traits< RolesType, char > RolesTraits; - virtual ~UsersType(); + const RolesOptional& + getRoles () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + RolesOptional& + getRoles (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + void + setRoles (const RolesType& x); - UserSequence user_; - AnySequence any_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - AnyAttributeSet any_attribute_; -}; + void + setRoles (const RolesOptional& x); -class UserType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + void + setRoles (::std::unique_ptr< RolesType > p); - const DisplayTextOptional &getDisplayText() const; + // languages + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserLanguagesType LanguagesType; + typedef ::xsd::cxx::tree::optional< LanguagesType > LanguagesOptional; + typedef ::xsd::cxx::tree::traits< LanguagesType, char > LanguagesTraits; - DisplayTextOptional &getDisplayText(); + const LanguagesOptional& + getLanguages () const; - void setDisplayText(const DisplayTextType &x); + LanguagesOptional& + getLanguages (); - void setDisplayText(const DisplayTextOptional &x); + void + setLanguages (const LanguagesType& x); - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + void + setLanguages (const LanguagesOptional& x); - // associated-aors - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UrisType AssociatedAorsType; - typedef ::xsd::cxx::tree::optional<AssociatedAorsType> AssociatedAorsOptional; - typedef ::xsd::cxx::tree::traits<AssociatedAorsType, char> AssociatedAorsTraits; + void + setLanguages (::std::unique_ptr< LanguagesType > p); - const AssociatedAorsOptional &getAssociatedAors() const; + // cascaded-focus + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri CascadedFocusType; + typedef ::xsd::cxx::tree::optional< CascadedFocusType > CascadedFocusOptional; + typedef ::xsd::cxx::tree::traits< CascadedFocusType, char > CascadedFocusTraits; - AssociatedAorsOptional &getAssociatedAors(); + const CascadedFocusOptional& + getCascadedFocus () const; - void setAssociatedAors(const AssociatedAorsType &x); + CascadedFocusOptional& + getCascadedFocus (); - void setAssociatedAors(const AssociatedAorsOptional &x); + void + setCascadedFocus (const CascadedFocusType& x); - void setAssociatedAors(::std::unique_ptr<AssociatedAorsType> p); + void + setCascadedFocus (const CascadedFocusOptional& x); - // roles - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserRolesType RolesType; - typedef ::xsd::cxx::tree::optional<RolesType> RolesOptional; - typedef ::xsd::cxx::tree::traits<RolesType, char> RolesTraits; + void + setCascadedFocus (::std::unique_ptr< CascadedFocusType > p); - const RolesOptional &getRoles() const; + // endpoint + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::EndpointType EndpointType; + typedef ::xsd::cxx::tree::sequence< EndpointType > EndpointSequence; + typedef EndpointSequence::iterator EndpointIterator; + typedef EndpointSequence::const_iterator EndpointConstIterator; + typedef ::xsd::cxx::tree::traits< EndpointType, char > EndpointTraits; - RolesOptional &getRoles(); + const EndpointSequence& + getEndpoint () const; - void setRoles(const RolesType &x); + EndpointSequence& + getEndpoint (); - void setRoles(const RolesOptional &x); + void + setEndpoint (const EndpointSequence& s); - void setRoles(::std::unique_ptr<RolesType> p); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - // languages - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::UserLanguagesType LanguagesType; - typedef ::xsd::cxx::tree::optional<LanguagesType> LanguagesOptional; - typedef ::xsd::cxx::tree::traits<LanguagesType, char> LanguagesTraits; + const AnySequence& + getAny () const; - const LanguagesOptional &getLanguages() const; + AnySequence& + getAny (); - LanguagesOptional &getLanguages(); + void + setAny (const AnySequence& s); - void setLanguages(const LanguagesType &x); + // entity + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri EntityType; + typedef ::xsd::cxx::tree::optional< EntityType > EntityOptional; + typedef ::xsd::cxx::tree::traits< EntityType, char > EntityTraits; - void setLanguages(const LanguagesOptional &x); + const EntityOptional& + getEntity () const; - void setLanguages(::std::unique_ptr<LanguagesType> p); + EntityOptional& + getEntity (); - // cascaded-focus - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri CascadedFocusType; - typedef ::xsd::cxx::tree::optional<CascadedFocusType> CascadedFocusOptional; - typedef ::xsd::cxx::tree::traits<CascadedFocusType, char> CascadedFocusTraits; + void + setEntity (const EntityType& x); - const CascadedFocusOptional &getCascadedFocus() const; + void + setEntity (const EntityOptional& x); - CascadedFocusOptional &getCascadedFocus(); + void + setEntity (::std::unique_ptr< EntityType > p); - void setCascadedFocus(const CascadedFocusType &x); + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; - void setCascadedFocus(const CascadedFocusOptional &x); + const StateType& + getState () const; - void setCascadedFocus(::std::unique_ptr<CascadedFocusType> p); + StateType& + getState (); - // endpoint - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::EndpointType EndpointType; - typedef ::xsd::cxx::tree::sequence<EndpointType> EndpointSequence; - typedef EndpointSequence::iterator EndpointIterator; - typedef EndpointSequence::const_iterator EndpointConstIterator; - typedef ::xsd::cxx::tree::traits<EndpointType, char> EndpointTraits; + void + setState (const StateType& x); - const EndpointSequence &getEndpoint() const; + void + setState (::std::unique_ptr< StateType > p); - EndpointSequence &getEndpoint(); + ::std::unique_ptr< StateType > + setDetachState (); - void setEndpoint(const EndpointSequence &s); + static const StateType& + getStateDefaultValue (); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - const AnySequence &getAny() const; + const AnyAttributeSet& + getAnyAttribute () const; - AnySequence &getAny(); + AnyAttributeSet& + getAnyAttribute (); - void setAny(const AnySequence &s); + void + setAnyAttribute (const AnyAttributeSet& s); - // entity - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri EntityType; - typedef ::xsd::cxx::tree::optional<EntityType> EntityOptional; - typedef ::xsd::cxx::tree::traits<EntityType, char> EntityTraits; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - const EntityOptional &getEntity() const; + ::xercesc::DOMDocument& + getDomDocument (); - EntityOptional &getEntity(); + // Constructors. + // + UserType (); - void setEntity(const EntityType &x); + UserType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setEntity(const EntityOptional &x); + UserType (const UserType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setEntity(::std::unique_ptr<EntityType> p); + virtual UserType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + UserType& + operator= (const UserType& x); + + virtual + ~UserType (); - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - const StateType &getState() const; + DisplayTextOptional display_text_; + AssociatedAorsOptional associated_aors_; + RolesOptional roles_; + LanguagesOptional languages_; + CascadedFocusOptional cascaded_focus_; + EndpointSequence endpoint_; + AnySequence any_; + EntityOptional entity_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + AnyAttributeSet any_attribute_; + }; + + class UserRolesType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // entry + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String EntryType; + typedef ::xsd::cxx::tree::sequence< EntryType > EntrySequence; + typedef EntrySequence::iterator EntryIterator; + typedef EntrySequence::const_iterator EntryConstIterator; + typedef ::xsd::cxx::tree::traits< EntryType, char > EntryTraits; + + const EntrySequence& + getEntry () const; + + EntrySequence& + getEntry (); + + void + setEntry (const EntrySequence& s); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + + const AnyAttributeSet& + getAnyAttribute () const; + + AnyAttributeSet& + getAnyAttribute (); + + void + setAnyAttribute (const AnyAttributeSet& s); + + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; + + ::xercesc::DOMDocument& + getDomDocument (); + + // Constructors. + // + UserRolesType (); + + UserRolesType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + UserRolesType (const UserRolesType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual UserRolesType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + UserRolesType& + operator= (const UserRolesType& x); + + virtual + ~UserRolesType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; + + EntrySequence entry_; + AnyAttributeSet any_attribute_; + }; + + class UserLanguagesType: public ::LinphonePrivate::Xsd::XmlSchema::SimpleType, + public ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > + { + public: + UserLanguagesType (); + + UserLanguagesType (size_type n, const ::LinphonePrivate::Xsd::XmlSchema::Language& x); + + template < typename I > + UserLanguagesType (const I& begin, const I& end) + : ::xsd::cxx::tree::list< ::LinphonePrivate::Xsd::XmlSchema::Language, char > (begin, end, this) + { + } + + UserLanguagesType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - StateType &getState(); + UserLanguagesType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setState(const StateType &x); + UserLanguagesType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setState(::std::unique_ptr<StateType> p); + UserLanguagesType (const UserLanguagesType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::std::unique_ptr<StateType> setDetachState(); + virtual UserLanguagesType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - static const StateType &getStateDefaultValue(); + virtual + ~UserLanguagesType (); + }; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + class EndpointType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - const AnyAttributeSet &getAnyAttribute() const; + const DisplayTextOptional& + getDisplayText () const; - AnyAttributeSet &getAnyAttribute(); + DisplayTextOptional& + getDisplayText (); - void setAnyAttribute(const AnyAttributeSet &s); + void + setDisplayText (const DisplayTextType& x); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + void + setDisplayText (const DisplayTextOptional& x); - ::xercesc::DOMDocument &getDomDocument(); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - // Constructors. - // - UserType(); + // referred + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType ReferredType; + typedef ::xsd::cxx::tree::optional< ReferredType > ReferredOptional; + typedef ::xsd::cxx::tree::traits< ReferredType, char > ReferredTraits; - UserType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const ReferredOptional& + getReferred () const; - UserType(const UserType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ReferredOptional& + getReferred (); - virtual UserType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setReferred (const ReferredType& x); - UserType &operator=(const UserType &x); + void + setReferred (const ReferredOptional& x); - virtual ~UserType(); + void + setReferred (::std::unique_ptr< ReferredType > p); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // status + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType StatusType; + typedef ::xsd::cxx::tree::optional< StatusType > StatusOptional; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + const StatusOptional& + getStatus () const; - DisplayTextOptional display_text_; - AssociatedAorsOptional associated_aors_; - RolesOptional roles_; - LanguagesOptional languages_; - CascadedFocusOptional cascaded_focus_; - EndpointSequence endpoint_; - AnySequence any_; - EntityOptional entity_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - AnyAttributeSet any_attribute_; -}; + StatusOptional& + getStatus (); -class UserRolesType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // entry - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String EntryType; - typedef ::xsd::cxx::tree::sequence<EntryType> EntrySequence; - typedef EntrySequence::iterator EntryIterator; - typedef EntrySequence::const_iterator EntryConstIterator; - typedef ::xsd::cxx::tree::traits<EntryType, char> EntryTraits; + void + setStatus (const StatusType& x); - const EntrySequence &getEntry() const; + void + setStatus (const StatusOptional& x); - EntrySequence &getEntry(); + void + setStatus (::std::unique_ptr< StatusType > p); - void setEntry(const EntrySequence &s); + // joining-method + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType JoiningMethodType; + typedef ::xsd::cxx::tree::optional< JoiningMethodType > JoiningMethodOptional; + typedef ::xsd::cxx::tree::traits< JoiningMethodType, char > JoiningMethodTraits; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + const JoiningMethodOptional& + getJoiningMethod () const; - const AnyAttributeSet &getAnyAttribute() const; + JoiningMethodOptional& + getJoiningMethod (); - AnyAttributeSet &getAnyAttribute(); + void + setJoiningMethod (const JoiningMethodType& x); - void setAnyAttribute(const AnyAttributeSet &s); + void + setJoiningMethod (const JoiningMethodOptional& x); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + void + setJoiningMethod (::std::unique_ptr< JoiningMethodType > p); - ::xercesc::DOMDocument &getDomDocument(); + // joining-info + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType JoiningInfoType; + typedef ::xsd::cxx::tree::optional< JoiningInfoType > JoiningInfoOptional; + typedef ::xsd::cxx::tree::traits< JoiningInfoType, char > JoiningInfoTraits; - // Constructors. - // - UserRolesType(); + const JoiningInfoOptional& + getJoiningInfo () const; - UserRolesType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + JoiningInfoOptional& + getJoiningInfo (); - UserRolesType(const UserRolesType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setJoiningInfo (const JoiningInfoType& x); - virtual UserRolesType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setJoiningInfo (const JoiningInfoOptional& x); - UserRolesType &operator=(const UserRolesType &x); + void + setJoiningInfo (::std::unique_ptr< JoiningInfoType > p); - virtual ~UserRolesType(); + // disconnection-method + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType DisconnectionMethodType; + typedef ::xsd::cxx::tree::optional< DisconnectionMethodType > DisconnectionMethodOptional; + typedef ::xsd::cxx::tree::traits< DisconnectionMethodType, char > DisconnectionMethodTraits; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + const DisconnectionMethodOptional& + getDisconnectionMethod () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + DisconnectionMethodOptional& + getDisconnectionMethod (); - EntrySequence entry_; - AnyAttributeSet any_attribute_; -}; + void + setDisconnectionMethod (const DisconnectionMethodType& x); -class UserLanguagesType : public ::LinphonePrivate::Xsd::XmlSchema::SimpleType, - public ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char> { -public: - UserLanguagesType(); + void + setDisconnectionMethod (const DisconnectionMethodOptional& x); - UserLanguagesType(size_type n, const ::LinphonePrivate::Xsd::XmlSchema::Language &x); + void + setDisconnectionMethod (::std::unique_ptr< DisconnectionMethodType > p); - template <typename I> - UserLanguagesType(const I &begin, const I &end) - : ::xsd::cxx::tree::list<::LinphonePrivate::Xsd::XmlSchema::Language, char>(begin, end, this) { - } + // disconnection-info + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType DisconnectionInfoType; + typedef ::xsd::cxx::tree::optional< DisconnectionInfoType > DisconnectionInfoOptional; + typedef ::xsd::cxx::tree::traits< DisconnectionInfoType, char > DisconnectionInfoTraits; - UserLanguagesType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const DisconnectionInfoOptional& + getDisconnectionInfo () const; - UserLanguagesType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DisconnectionInfoOptional& + getDisconnectionInfo (); - UserLanguagesType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDisconnectionInfo (const DisconnectionInfoType& x); - UserLanguagesType(const UserLanguagesType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDisconnectionInfo (const DisconnectionInfoOptional& x); - virtual UserLanguagesType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setDisconnectionInfo (::std::unique_ptr< DisconnectionInfoType > p); - virtual ~UserLanguagesType(); -}; + // media + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaType MediaType; + typedef ::xsd::cxx::tree::sequence< MediaType > MediaSequence; + typedef MediaSequence::iterator MediaIterator; + typedef MediaSequence::const_iterator MediaConstIterator; + typedef ::xsd::cxx::tree::traits< MediaType, char > MediaTraits; -class EndpointType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + const MediaSequence& + getMedia () const; - const DisplayTextOptional &getDisplayText() const; + MediaSequence& + getMedia (); - DisplayTextOptional &getDisplayText(); + void + setMedia (const MediaSequence& s); - void setDisplayText(const DisplayTextType &x); + // call-info + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::CallType CallInfoType; + typedef ::xsd::cxx::tree::optional< CallInfoType > CallInfoOptional; + typedef ::xsd::cxx::tree::traits< CallInfoType, char > CallInfoTraits; - void setDisplayText(const DisplayTextOptional &x); + const CallInfoOptional& + getCallInfo () const; - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + CallInfoOptional& + getCallInfo (); - // referred - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType ReferredType; - typedef ::xsd::cxx::tree::optional<ReferredType> ReferredOptional; - typedef ::xsd::cxx::tree::traits<ReferredType, char> ReferredTraits; + void + setCallInfo (const CallInfoType& x); - const ReferredOptional &getReferred() const; + void + setCallInfo (const CallInfoOptional& x); - ReferredOptional &getReferred(); + void + setCallInfo (::std::unique_ptr< CallInfoType > p); - void setReferred(const ReferredType &x); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - void setReferred(const ReferredOptional &x); + const AnySequence& + getAny () const; - void setReferred(::std::unique_ptr<ReferredType> p); + AnySequence& + getAny (); - // status - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::EndpointStatusType StatusType; - typedef ::xsd::cxx::tree::optional<StatusType> StatusOptional; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; + void + setAny (const AnySequence& s); - const StatusOptional &getStatus() const; + // entity + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String EntityType; + typedef ::xsd::cxx::tree::optional< EntityType > EntityOptional; + typedef ::xsd::cxx::tree::traits< EntityType, char > EntityTraits; - StatusOptional &getStatus(); + const EntityOptional& + getEntity () const; - void setStatus(const StatusType &x); + EntityOptional& + getEntity (); - void setStatus(const StatusOptional &x); + void + setEntity (const EntityType& x); - void setStatus(::std::unique_ptr<StatusType> p); + void + setEntity (const EntityOptional& x); - // joining-method - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::JoiningType JoiningMethodType; - typedef ::xsd::cxx::tree::optional<JoiningMethodType> JoiningMethodOptional; - typedef ::xsd::cxx::tree::traits<JoiningMethodType, char> JoiningMethodTraits; + void + setEntity (::std::unique_ptr< EntityType > p); - const JoiningMethodOptional &getJoiningMethod() const; + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; + + const StateType& + getState () const; + + StateType& + getState (); + + void + setState (const StateType& x); - JoiningMethodOptional &getJoiningMethod(); + void + setState (::std::unique_ptr< StateType > p); - void setJoiningMethod(const JoiningMethodType &x); + ::std::unique_ptr< StateType > + setDetachState (); - void setJoiningMethod(const JoiningMethodOptional &x); + static const StateType& + getStateDefaultValue (); - void setJoiningMethod(::std::unique_ptr<JoiningMethodType> p); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + + const AnyAttributeSet& + getAnyAttribute () const; - // joining-info - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType JoiningInfoType; - typedef ::xsd::cxx::tree::optional<JoiningInfoType> JoiningInfoOptional; - typedef ::xsd::cxx::tree::traits<JoiningInfoType, char> JoiningInfoTraits; + AnyAttributeSet& + getAnyAttribute (); - const JoiningInfoOptional &getJoiningInfo() const; + void + setAnyAttribute (const AnyAttributeSet& s); + + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - JoiningInfoOptional &getJoiningInfo(); + ::xercesc::DOMDocument& + getDomDocument (); + + // Constructors. + // + EndpointType (); + + EndpointType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + EndpointType (const EndpointType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual EndpointType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + EndpointType& + operator= (const EndpointType& x); + + virtual + ~EndpointType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; + + DisplayTextOptional display_text_; + ReferredOptional referred_; + StatusOptional status_; + JoiningMethodOptional joining_method_; + JoiningInfoOptional joining_info_; + DisconnectionMethodOptional disconnection_method_; + DisconnectionInfoOptional disconnection_info_; + MediaSequence media_; + CallInfoOptional call_info_; + AnySequence any_; + EntityOptional entity_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + AnyAttributeSet any_attribute_; + }; + + class EndpointStatusType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + pending, + dialing_out, + dialing_in, + alerting, + on_hold, + connected, + muted_via_focus, + disconnecting, + disconnected + }; + + EndpointStatusType (Value v); + + EndpointStatusType (const char* v); + + EndpointStatusType (const ::std::string& v); + + EndpointStatusType (const ::LinphonePrivate::Xsd::XmlSchema::String& v); + + EndpointStatusType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + EndpointStatusType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + EndpointStatusType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + EndpointStatusType (const EndpointStatusType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual EndpointStatusType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + EndpointStatusType& + operator= (Value v); + + virtual + operator Value () const + { + return _xsd_EndpointStatusType_convert (); + } + + protected: + Value + _xsd_EndpointStatusType_convert () const; + + public: + static const char* const _xsd_EndpointStatusType_literals_[9]; + static const Value _xsd_EndpointStatusType_indexes_[9]; + }; + + class JoiningType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + dialed_in, + dialed_out, + focus_owner + }; + + JoiningType (Value v); + + JoiningType (const char* v); + + JoiningType (const ::std::string& v); + + JoiningType (const ::LinphonePrivate::Xsd::XmlSchema::String& v); + + JoiningType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + JoiningType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + JoiningType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + JoiningType (const JoiningType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual JoiningType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + JoiningType& + operator= (Value v); + + virtual + operator Value () const + { + return _xsd_JoiningType_convert (); + } - void setJoiningInfo(const JoiningInfoType &x); + protected: + Value + _xsd_JoiningType_convert () const; - void setJoiningInfo(const JoiningInfoOptional &x); + public: + static const char* const _xsd_JoiningType_literals_[3]; + static const Value _xsd_JoiningType_indexes_[3]; + }; - void setJoiningInfo(::std::unique_ptr<JoiningInfoType> p); + class DisconnectionType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + departed, + booted, + failed, + busy + }; + + DisconnectionType (Value v); + + DisconnectionType (const char* v); - // disconnection-method - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::DisconnectionType DisconnectionMethodType; - typedef ::xsd::cxx::tree::optional<DisconnectionMethodType> DisconnectionMethodOptional; - typedef ::xsd::cxx::tree::traits<DisconnectionMethodType, char> DisconnectionMethodTraits; + DisconnectionType (const ::std::string& v); - const DisconnectionMethodOptional &getDisconnectionMethod() const; + DisconnectionType (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - DisconnectionMethodOptional &getDisconnectionMethod(); + DisconnectionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setDisconnectionMethod(const DisconnectionMethodType &x); + DisconnectionType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setDisconnectionMethod(const DisconnectionMethodOptional &x); + DisconnectionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setDisconnectionMethod(::std::unique_ptr<DisconnectionMethodType> p); + DisconnectionType (const DisconnectionType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // disconnection-info - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ExecutionType DisconnectionInfoType; - typedef ::xsd::cxx::tree::optional<DisconnectionInfoType> DisconnectionInfoOptional; - typedef ::xsd::cxx::tree::traits<DisconnectionInfoType, char> DisconnectionInfoTraits; + virtual DisconnectionType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - const DisconnectionInfoOptional &getDisconnectionInfo() const; + DisconnectionType& + operator= (Value v); - DisconnectionInfoOptional &getDisconnectionInfo(); + virtual + operator Value () const + { + return _xsd_DisconnectionType_convert (); + } - void setDisconnectionInfo(const DisconnectionInfoType &x); + protected: + Value + _xsd_DisconnectionType_convert () const; - void setDisconnectionInfo(const DisconnectionInfoOptional &x); + public: + static const char* const _xsd_DisconnectionType_literals_[4]; + static const Value _xsd_DisconnectionType_indexes_[4]; + }; - void setDisconnectionInfo(::std::unique_ptr<DisconnectionInfoType> p); + class ExecutionType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // when + // + typedef ::LinphonePrivate::Xsd::XmlSchema::DateTime WhenType; + typedef ::xsd::cxx::tree::optional< WhenType > WhenOptional; + typedef ::xsd::cxx::tree::traits< WhenType, char > WhenTraits; - // media - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaType MediaType; - typedef ::xsd::cxx::tree::sequence<MediaType> MediaSequence; - typedef MediaSequence::iterator MediaIterator; - typedef MediaSequence::const_iterator MediaConstIterator; - typedef ::xsd::cxx::tree::traits<MediaType, char> MediaTraits; + const WhenOptional& + getWhen () const; - const MediaSequence &getMedia() const; + WhenOptional& + getWhen (); - MediaSequence &getMedia(); + void + setWhen (const WhenType& x); - void setMedia(const MediaSequence &s); + void + setWhen (const WhenOptional& x); - // call-info - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::CallType CallInfoType; - typedef ::xsd::cxx::tree::optional<CallInfoType> CallInfoOptional; - typedef ::xsd::cxx::tree::traits<CallInfoType, char> CallInfoTraits; + void + setWhen (::std::unique_ptr< WhenType > p); - const CallInfoOptional &getCallInfo() const; + // reason + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String ReasonType; + typedef ::xsd::cxx::tree::optional< ReasonType > ReasonOptional; + typedef ::xsd::cxx::tree::traits< ReasonType, char > ReasonTraits; - CallInfoOptional &getCallInfo(); + const ReasonOptional& + getReason () const; - void setCallInfo(const CallInfoType &x); + ReasonOptional& + getReason (); - void setCallInfo(const CallInfoOptional &x); + void + setReason (const ReasonType& x); - void setCallInfo(::std::unique_ptr<CallInfoType> p); + void + setReason (const ReasonOptional& x); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + void + setReason (::std::unique_ptr< ReasonType > p); - const AnySequence &getAny() const; + // by + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri ByType; + typedef ::xsd::cxx::tree::optional< ByType > ByOptional; + typedef ::xsd::cxx::tree::traits< ByType, char > ByTraits; - AnySequence &getAny(); + const ByOptional& + getBy () const; - void setAny(const AnySequence &s); + ByOptional& + getBy (); - // entity - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String EntityType; - typedef ::xsd::cxx::tree::optional<EntityType> EntityOptional; - typedef ::xsd::cxx::tree::traits<EntityType, char> EntityTraits; + void + setBy (const ByType& x); - const EntityOptional &getEntity() const; + void + setBy (const ByOptional& x); - EntityOptional &getEntity(); + void + setBy (::std::unique_ptr< ByType > p); - void setEntity(const EntityType &x); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - void setEntity(const EntityOptional &x); + const AnyAttributeSet& + getAnyAttribute () const; - void setEntity(::std::unique_ptr<EntityType> p); + AnyAttributeSet& + getAnyAttribute (); - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + void + setAnyAttribute (const AnyAttributeSet& s); - const StateType &getState() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - StateType &getState(); + ::xercesc::DOMDocument& + getDomDocument (); - void setState(const StateType &x); + // Constructors. + // + ExecutionType (); - void setState(::std::unique_ptr<StateType> p); + ExecutionType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::std::unique_ptr<StateType> setDetachState(); + ExecutionType (const ExecutionType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - static const StateType &getStateDefaultValue(); + virtual ExecutionType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + ExecutionType& + operator= (const ExecutionType& x); - const AnyAttributeSet &getAnyAttribute() const; + virtual + ~ExecutionType (); - AnyAttributeSet &getAnyAttribute(); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - void setAnyAttribute(const AnyAttributeSet &s); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + WhenOptional when_; + ReasonOptional reason_; + ByOptional by_; + AnyAttributeSet any_attribute_; + }; - ::xercesc::DOMDocument &getDomDocument(); + class CallType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // sip + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::SipDialogIdType SipType; + typedef ::xsd::cxx::tree::optional< SipType > SipOptional; + typedef ::xsd::cxx::tree::traits< SipType, char > SipTraits; - // Constructors. - // - EndpointType(); + const SipOptional& + getSip () const; - EndpointType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + SipOptional& + getSip (); - EndpointType(const EndpointType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setSip (const SipType& x); - virtual EndpointType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setSip (const SipOptional& x); - EndpointType &operator=(const EndpointType &x); + void + setSip (::std::unique_ptr< SipType > p); - virtual ~EndpointType(); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + const AnySequence& + getAny () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + AnySequence& + getAny (); - DisplayTextOptional display_text_; - ReferredOptional referred_; - StatusOptional status_; - JoiningMethodOptional joining_method_; - JoiningInfoOptional joining_info_; - DisconnectionMethodOptional disconnection_method_; - DisconnectionInfoOptional disconnection_info_; - MediaSequence media_; - CallInfoOptional call_info_; - AnySequence any_; - EntityOptional entity_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - AnyAttributeSet any_attribute_; -}; + void + setAny (const AnySequence& s); -class EndpointStatusType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { - pending, - dialing_out, - dialing_in, - alerting, - on_hold, - connected, - muted_via_focus, - disconnecting, - disconnected - }; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - EndpointStatusType(Value v); + const AnyAttributeSet& + getAnyAttribute () const; - EndpointStatusType(const char *v); + AnyAttributeSet& + getAnyAttribute (); - EndpointStatusType(const ::std::string &v); + void + setAnyAttribute (const AnyAttributeSet& s); - EndpointStatusType(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - EndpointStatusType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ::xercesc::DOMDocument& + getDomDocument (); - EndpointStatusType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // Constructors. + // + CallType (); - EndpointStatusType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + CallType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - EndpointStatusType(const EndpointStatusType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + CallType (const CallType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual EndpointStatusType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual CallType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - EndpointStatusType &operator=(Value v); + CallType& + operator= (const CallType& x); - virtual operator Value() const { - return _xsd_EndpointStatusType_convert(); - } + virtual + ~CallType (); -protected: - Value _xsd_EndpointStatusType_convert() const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -public: - static const char *const _xsd_EndpointStatusType_literals_[9]; - static const Value _xsd_EndpointStatusType_indexes_[9]; -}; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; -class JoiningType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { dialed_in, dialed_out, focus_owner }; + SipOptional sip_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; - JoiningType(Value v); + class SipDialogIdType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - JoiningType(const char *v); + const DisplayTextOptional& + getDisplayText () const; - JoiningType(const ::std::string &v); + DisplayTextOptional& + getDisplayText (); - JoiningType(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + void + setDisplayText (const DisplayTextType& x); - JoiningType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDisplayText (const DisplayTextOptional& x); - JoiningType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - JoiningType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // call-id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String CallIdType; + typedef ::xsd::cxx::tree::traits< CallIdType, char > CallIdTraits; - JoiningType(const JoiningType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const CallIdType& + getCallId () const; - virtual JoiningType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + CallIdType& + getCallId (); - JoiningType &operator=(Value v); + void + setCallId (const CallIdType& x); - virtual operator Value() const { - return _xsd_JoiningType_convert(); - } + void + setCallId (::std::unique_ptr< CallIdType > p); -protected: - Value _xsd_JoiningType_convert() const; + ::std::unique_ptr< CallIdType > + setDetachCall_id (); -public: - static const char *const _xsd_JoiningType_literals_[3]; - static const Value _xsd_JoiningType_indexes_[3]; -}; + // from-tag + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String FromTagType; + typedef ::xsd::cxx::tree::traits< FromTagType, char > FromTagTraits; -class DisconnectionType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { departed, booted, failed, busy }; + const FromTagType& + getFromTag () const; - DisconnectionType(Value v); + FromTagType& + getFromTag (); - DisconnectionType(const char *v); + void + setFromTag (const FromTagType& x); - DisconnectionType(const ::std::string &v); + void + setFromTag (::std::unique_ptr< FromTagType > p); - DisconnectionType(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + ::std::unique_ptr< FromTagType > + setDetachFrom_tag (); - DisconnectionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // to-tag + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String ToTagType; + typedef ::xsd::cxx::tree::traits< ToTagType, char > ToTagTraits; - DisconnectionType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const ToTagType& + getToTag () const; - DisconnectionType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ToTagType& + getToTag (); - DisconnectionType(const DisconnectionType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setToTag (const ToTagType& x); - virtual DisconnectionType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setToTag (::std::unique_ptr< ToTagType > p); - DisconnectionType &operator=(Value v); + ::std::unique_ptr< ToTagType > + setDetachTo_tag (); - virtual operator Value() const { - return _xsd_DisconnectionType_convert(); - } + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; -protected: - Value _xsd_DisconnectionType_convert() const; + const AnySequence& + getAny () const; -public: - static const char *const _xsd_DisconnectionType_literals_[4]; - static const Value _xsd_DisconnectionType_indexes_[4]; -}; + AnySequence& + getAny (); -class ExecutionType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // when - // - typedef ::LinphonePrivate::Xsd::XmlSchema::DateTime WhenType; - typedef ::xsd::cxx::tree::optional<WhenType> WhenOptional; - typedef ::xsd::cxx::tree::traits<WhenType, char> WhenTraits; + void + setAny (const AnySequence& s); - const WhenOptional &getWhen() const; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - WhenOptional &getWhen(); + const AnyAttributeSet& + getAnyAttribute () const; - void setWhen(const WhenType &x); + AnyAttributeSet& + getAnyAttribute (); - void setWhen(const WhenOptional &x); + void + setAnyAttribute (const AnyAttributeSet& s); - void setWhen(::std::unique_ptr<WhenType> p); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - // reason - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String ReasonType; - typedef ::xsd::cxx::tree::optional<ReasonType> ReasonOptional; - typedef ::xsd::cxx::tree::traits<ReasonType, char> ReasonTraits; + ::xercesc::DOMDocument& + getDomDocument (); - const ReasonOptional &getReason() const; + // Constructors. + // + SipDialogIdType (const CallIdType&, + const FromTagType&, + const ToTagType&); - ReasonOptional &getReason(); + SipDialogIdType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setReason(const ReasonType &x); + SipDialogIdType (const SipDialogIdType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setReason(const ReasonOptional &x); + virtual SipDialogIdType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setReason(::std::unique_ptr<ReasonType> p); + SipDialogIdType& + operator= (const SipDialogIdType& x); - // by - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri ByType; - typedef ::xsd::cxx::tree::optional<ByType> ByOptional; - typedef ::xsd::cxx::tree::traits<ByType, char> ByTraits; + virtual + ~SipDialogIdType (); - const ByOptional &getBy() const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - ByOptional &getBy(); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - void setBy(const ByType &x); + DisplayTextOptional display_text_; + ::xsd::cxx::tree::one< CallIdType > call_id_; + ::xsd::cxx::tree::one< FromTagType > from_tag_; + ::xsd::cxx::tree::one< ToTagType > to_tag_; + AnySequence any_; + AnyAttributeSet any_attribute_; + }; - void setBy(const ByOptional &x); + class MediaType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-text + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; + typedef ::xsd::cxx::tree::optional< DisplayTextType > DisplayTextOptional; + typedef ::xsd::cxx::tree::traits< DisplayTextType, char > DisplayTextTraits; - void setBy(::std::unique_ptr<ByType> p); + const DisplayTextOptional& + getDisplayText () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + DisplayTextOptional& + getDisplayText (); - const AnyAttributeSet &getAnyAttribute() const; + void + setDisplayText (const DisplayTextType& x); - AnyAttributeSet &getAnyAttribute(); + void + setDisplayText (const DisplayTextOptional& x); - void setAnyAttribute(const AnyAttributeSet &s); + void + setDisplayText (::std::unique_ptr< DisplayTextType > p); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // type + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String TypeType; + typedef ::xsd::cxx::tree::optional< TypeType > TypeOptional; + typedef ::xsd::cxx::tree::traits< TypeType, char > TypeTraits; - ::xercesc::DOMDocument &getDomDocument(); + const TypeOptional& + getType () const; - // Constructors. - // - ExecutionType(); + TypeOptional& + getType (); - ExecutionType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setType (const TypeType& x); - ExecutionType(const ExecutionType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setType (const TypeOptional& x); - virtual ExecutionType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setType (::std::unique_ptr< TypeType > p); - ExecutionType &operator=(const ExecutionType &x); + // label + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String LabelType; + typedef ::xsd::cxx::tree::optional< LabelType > LabelOptional; + typedef ::xsd::cxx::tree::traits< LabelType, char > LabelTraits; - virtual ~ExecutionType(); + const LabelOptional& + getLabel () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + LabelOptional& + getLabel (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + void + setLabel (const LabelType& x); - WhenOptional when_; - ReasonOptional reason_; - ByOptional by_; - AnyAttributeSet any_attribute_; -}; + void + setLabel (const LabelOptional& x); -class CallType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // sip - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::SipDialogIdType SipType; - typedef ::xsd::cxx::tree::optional<SipType> SipOptional; - typedef ::xsd::cxx::tree::traits<SipType, char> SipTraits; + void + setLabel (::std::unique_ptr< LabelType > p); - const SipOptional &getSip() const; + // src-id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String SrcIdType; + typedef ::xsd::cxx::tree::optional< SrcIdType > SrcIdOptional; + typedef ::xsd::cxx::tree::traits< SrcIdType, char > SrcIdTraits; - SipOptional &getSip(); + const SrcIdOptional& + getSrcId () const; - void setSip(const SipType &x); + SrcIdOptional& + getSrcId (); - void setSip(const SipOptional &x); + void + setSrcId (const SrcIdType& x); - void setSip(::std::unique_ptr<SipType> p); + void + setSrcId (const SrcIdOptional& x); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + void + setSrcId (::std::unique_ptr< SrcIdType > p); - const AnySequence &getAny() const; + // status + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType StatusType; + typedef ::xsd::cxx::tree::optional< StatusType > StatusOptional; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; - AnySequence &getAny(); + const StatusOptional& + getStatus () const; - void setAny(const AnySequence &s); + StatusOptional& + getStatus (); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + void + setStatus (const StatusType& x); - const AnyAttributeSet &getAnyAttribute() const; + void + setStatus (const StatusOptional& x); - AnyAttributeSet &getAnyAttribute(); + void + setStatus (::std::unique_ptr< StatusType > p); - void setAnyAttribute(const AnyAttributeSet &s); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + const AnySequence& + getAny () const; - ::xercesc::DOMDocument &getDomDocument(); + AnySequence& + getAny (); - // Constructors. - // - CallType(); + void + setAny (const AnySequence& s); - CallType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String IdType; + typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits; - CallType(const CallType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const IdType& + getId () const; - virtual CallType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + IdType& + getId (); - CallType &operator=(const CallType &x); + void + setId (const IdType& x); - virtual ~CallType(); + void + setId (::std::unique_ptr< IdType > p); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + ::std::unique_ptr< IdType > + setDetachId (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - SipOptional sip_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; + const AnyAttributeSet& + getAnyAttribute () const; -class SipDialogIdType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; + AnyAttributeSet& + getAnyAttribute (); - const DisplayTextOptional &getDisplayText() const; + void + setAnyAttribute (const AnyAttributeSet& s); - DisplayTextOptional &getDisplayText(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setDisplayText(const DisplayTextType &x); + ::xercesc::DOMDocument& + getDomDocument (); - void setDisplayText(const DisplayTextOptional &x); + // Constructors. + // + MediaType (const IdType&); - void setDisplayText(::std::unique_ptr<DisplayTextType> p); + MediaType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // call-id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String CallIdType; - typedef ::xsd::cxx::tree::traits<CallIdType, char> CallIdTraits; + MediaType (const MediaType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const CallIdType &getCallId() const; + virtual MediaType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + MediaType& + operator= (const MediaType& x); + + virtual + ~MediaType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - CallIdType &getCallId(); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - void setCallId(const CallIdType &x); + DisplayTextOptional display_text_; + TypeOptional type_; + LabelOptional label_; + SrcIdOptional src_id_; + StatusOptional status_; + AnySequence any_; + ::xsd::cxx::tree::one< IdType > id_; + AnyAttributeSet any_attribute_; + }; - void setCallId(::std::unique_ptr<CallIdType> p); + class MediaStatusType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + recvonly, + sendonly, + sendrecv, + inactive + }; - ::std::unique_ptr<CallIdType> setDetachCall_id(); + MediaStatusType (Value v); - // from-tag - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String FromTagType; - typedef ::xsd::cxx::tree::traits<FromTagType, char> FromTagTraits; + MediaStatusType (const char* v); - const FromTagType &getFromTag() const; + MediaStatusType (const ::std::string& v); - FromTagType &getFromTag(); + MediaStatusType (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - void setFromTag(const FromTagType &x); + MediaStatusType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setFromTag(::std::unique_ptr<FromTagType> p); + MediaStatusType (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + MediaStatusType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::std::unique_ptr<FromTagType> setDetachFrom_tag(); + MediaStatusType (const MediaStatusType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual MediaStatusType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - // to-tag - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String ToTagType; - typedef ::xsd::cxx::tree::traits<ToTagType, char> ToTagTraits; + MediaStatusType& + operator= (Value v); - const ToTagType &getToTag() const; + virtual + operator Value () const + { + return _xsd_MediaStatusType_convert (); + } + + protected: + Value + _xsd_MediaStatusType_convert () const; + + public: + static const char* const _xsd_MediaStatusType_literals_[4]; + static const Value _xsd_MediaStatusType_indexes_[4]; + }; + + class SidebarsByValType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // entry + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType EntryType; + typedef ::xsd::cxx::tree::sequence< EntryType > EntrySequence; + typedef EntrySequence::iterator EntryIterator; + typedef EntrySequence::const_iterator EntryConstIterator; + typedef ::xsd::cxx::tree::traits< EntryType, char > EntryTraits; + + const EntrySequence& + getEntry () const; + + EntrySequence& + getEntry (); + + void + setEntry (const EntrySequence& s); + + // state + // + typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; + + const StateType& + getState () const; + + StateType& + getState (); + + void + setState (const StateType& x); + + void + setState (::std::unique_ptr< StateType > p); + + ::std::unique_ptr< StateType > + setDetachState (); + + static const StateType& + getStateDefaultValue (); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - ToTagType &getToTag(); + const AnyAttributeSet& + getAnyAttribute () const; - void setToTag(const ToTagType &x); + AnyAttributeSet& + getAnyAttribute (); - void setToTag(::std::unique_ptr<ToTagType> p); + void + setAnyAttribute (const AnyAttributeSet& s); - ::std::unique_ptr<ToTagType> setDetachTo_tag(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; + + ::xercesc::DOMDocument& + getDomDocument (); + + // Constructors. + // + SidebarsByValType (); + + SidebarsByValType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + SidebarsByValType (const SidebarsByValType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const AnySequence &getAny() const; + virtual SidebarsByValType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - AnySequence &getAny(); + SidebarsByValType& + operator= (const SidebarsByValType& x); - void setAny(const AnySequence &s); + virtual + ~SidebarsByValType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - const AnyAttributeSet &getAnyAttribute() const; - - AnyAttributeSet &getAnyAttribute(); - - void setAnyAttribute(const AnyAttributeSet &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - SipDialogIdType(const CallIdType &, const FromTagType &, const ToTagType &); - - SipDialogIdType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - SipDialogIdType(const SipDialogIdType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual SipDialogIdType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - SipDialogIdType &operator=(const SipDialogIdType &x); - - virtual ~SipDialogIdType(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; - - DisplayTextOptional display_text_; - ::xsd::cxx::tree::one<CallIdType> call_id_; - ::xsd::cxx::tree::one<FromTagType> from_tag_; - ::xsd::cxx::tree::one<ToTagType> to_tag_; - AnySequence any_; - AnyAttributeSet any_attribute_; -}; - -class MediaType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-text - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DisplayTextType; - typedef ::xsd::cxx::tree::optional<DisplayTextType> DisplayTextOptional; - typedef ::xsd::cxx::tree::traits<DisplayTextType, char> DisplayTextTraits; - - const DisplayTextOptional &getDisplayText() const; - - DisplayTextOptional &getDisplayText(); - - void setDisplayText(const DisplayTextType &x); - - void setDisplayText(const DisplayTextOptional &x); - - void setDisplayText(::std::unique_ptr<DisplayTextType> p); - - // type - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String TypeType; - typedef ::xsd::cxx::tree::optional<TypeType> TypeOptional; - typedef ::xsd::cxx::tree::traits<TypeType, char> TypeTraits; - - const TypeOptional &getType() const; - - TypeOptional &getType(); - - void setType(const TypeType &x); - - void setType(const TypeOptional &x); - - void setType(::std::unique_ptr<TypeType> p); - - // label - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String LabelType; - typedef ::xsd::cxx::tree::optional<LabelType> LabelOptional; - typedef ::xsd::cxx::tree::traits<LabelType, char> LabelTraits; - - const LabelOptional &getLabel() const; - - LabelOptional &getLabel(); - - void setLabel(const LabelType &x); - - void setLabel(const LabelOptional &x); - - void setLabel(::std::unique_ptr<LabelType> p); - - // src-id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String SrcIdType; - typedef ::xsd::cxx::tree::optional<SrcIdType> SrcIdOptional; - typedef ::xsd::cxx::tree::traits<SrcIdType, char> SrcIdTraits; - - const SrcIdOptional &getSrcId() const; - - SrcIdOptional &getSrcId(); - - void setSrcId(const SrcIdType &x); - - void setSrcId(const SrcIdOptional &x); - - void setSrcId(::std::unique_ptr<SrcIdType> p); - - // status - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::MediaStatusType StatusType; - typedef ::xsd::cxx::tree::optional<StatusType> StatusOptional; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; - - const StatusOptional &getStatus() const; - - StatusOptional &getStatus(); - - void setStatus(const StatusType &x); - - void setStatus(const StatusOptional &x); - - void setStatus(::std::unique_ptr<StatusType> p); - - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; - - const AnySequence &getAny() const; - - AnySequence &getAny(); - - void setAny(const AnySequence &s); - - // id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String IdType; - typedef ::xsd::cxx::tree::traits<IdType, char> IdTraits; - - const IdType &getId() const; - - IdType &getId(); - - void setId(const IdType &x); - - void setId(::std::unique_ptr<IdType> p); - - ::std::unique_ptr<IdType> setDetachId(); - - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - - const AnyAttributeSet &getAnyAttribute() const; - - AnyAttributeSet &getAnyAttribute(); - - void setAnyAttribute(const AnyAttributeSet &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - MediaType(const IdType &); - - MediaType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - MediaType(const MediaType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual MediaType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - MediaType &operator=(const MediaType &x); - - virtual ~MediaType(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; - - DisplayTextOptional display_text_; - TypeOptional type_; - LabelOptional label_; - SrcIdOptional src_id_; - StatusOptional status_; - AnySequence any_; - ::xsd::cxx::tree::one<IdType> id_; - AnyAttributeSet any_attribute_; -}; - -class MediaStatusType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { recvonly, sendonly, sendrecv, inactive }; - - MediaStatusType(Value v); - - MediaStatusType(const char *v); - - MediaStatusType(const ::std::string &v); - - MediaStatusType(const ::LinphonePrivate::Xsd::XmlSchema::String &v); - - MediaStatusType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - MediaStatusType(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - MediaStatusType(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - MediaStatusType(const MediaStatusType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual MediaStatusType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - MediaStatusType &operator=(Value v); - - virtual operator Value() const { - return _xsd_MediaStatusType_convert(); - } - -protected: - Value _xsd_MediaStatusType_convert() const; - -public: - static const char *const _xsd_MediaStatusType_literals_[4]; - static const Value _xsd_MediaStatusType_indexes_[4]; -}; - -class SidebarsByValType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // entry - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType EntryType; - typedef ::xsd::cxx::tree::sequence<EntryType> EntrySequence; - typedef EntrySequence::iterator EntryIterator; - typedef EntrySequence::const_iterator EntryConstIterator; - typedef ::xsd::cxx::tree::traits<EntryType, char> EntryTraits; - - const EntrySequence &getEntry() const; - - EntrySequence &getEntry(); - - void setEntry(const EntrySequence &s); - - // state - // - typedef ::LinphonePrivate::Xsd::ConferenceInfo::StateType StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; - - const StateType &getState() const; - - StateType &getState(); - - void setState(const StateType &x); - - void setState(::std::unique_ptr<StateType> p); - - ::std::unique_ptr<StateType> setDetachState(); - - static const StateType &getStateDefaultValue(); - - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - - const AnyAttributeSet &getAnyAttribute() const; - - AnyAttributeSet &getAnyAttribute(); - - void setAnyAttribute(const AnyAttributeSet &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - SidebarsByValType(); - - SidebarsByValType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - SidebarsByValType(const SidebarsByValType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual SidebarsByValType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - SidebarsByValType &operator=(const SidebarsByValType &x); - - virtual ~SidebarsByValType(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; - - EntrySequence entry_; - ::xsd::cxx::tree::one<StateType> state_; - static const StateType state_default_value_; - AnyAttributeSet any_attribute_; -}; -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate + EntrySequence entry_; + ::xsd::cxx::tree::one< StateType > state_; + static const StateType state_default_value_; + AnyAttributeSet any_attribute_; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -::std::ostream &operator<<(::std::ostream &, const ConferenceType &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + ::std::ostream& + operator<< (::std::ostream&, const ConferenceType&); -::std::ostream &operator<<(::std::ostream &, StateType::Value); + ::std::ostream& + operator<< (::std::ostream&, StateType::Value); -::std::ostream &operator<<(::std::ostream &, const StateType &); + ::std::ostream& + operator<< (::std::ostream&, const StateType&); -::std::ostream &operator<<(::std::ostream &, const ConferenceDescriptionType &); + ::std::ostream& + operator<< (::std::ostream&, const ConferenceDescriptionType&); -::std::ostream &operator<<(::std::ostream &, const HostType &); + ::std::ostream& + operator<< (::std::ostream&, const HostType&); -::std::ostream &operator<<(::std::ostream &, const ConferenceStateType &); + ::std::ostream& + operator<< (::std::ostream&, const ConferenceStateType&); -::std::ostream &operator<<(::std::ostream &, const ConferenceMediaType &); + ::std::ostream& + operator<< (::std::ostream&, const ConferenceMediaType&); -::std::ostream &operator<<(::std::ostream &, const ConferenceMediumType &); + ::std::ostream& + operator<< (::std::ostream&, const ConferenceMediumType&); -::std::ostream &operator<<(::std::ostream &, const UrisType &); + ::std::ostream& + operator<< (::std::ostream&, const UrisType&); -::std::ostream &operator<<(::std::ostream &, const UriType &); + ::std::ostream& + operator<< (::std::ostream&, const UriType&); -::std::ostream &operator<<(::std::ostream &, const KeywordsType &); + ::std::ostream& + operator<< (::std::ostream&, const KeywordsType&); -::std::ostream &operator<<(::std::ostream &, const UsersType &); + ::std::ostream& + operator<< (::std::ostream&, const UsersType&); -::std::ostream &operator<<(::std::ostream &, const UserType &); + ::std::ostream& + operator<< (::std::ostream&, const UserType&); -::std::ostream &operator<<(::std::ostream &, const UserRolesType &); + ::std::ostream& + operator<< (::std::ostream&, const UserRolesType&); -::std::ostream &operator<<(::std::ostream &, const UserLanguagesType &); + ::std::ostream& + operator<< (::std::ostream&, const UserLanguagesType&); -::std::ostream &operator<<(::std::ostream &, const EndpointType &); + ::std::ostream& + operator<< (::std::ostream&, const EndpointType&); -::std::ostream &operator<<(::std::ostream &, EndpointStatusType::Value); + ::std::ostream& + operator<< (::std::ostream&, EndpointStatusType::Value); -::std::ostream &operator<<(::std::ostream &, const EndpointStatusType &); + ::std::ostream& + operator<< (::std::ostream&, const EndpointStatusType&); -::std::ostream &operator<<(::std::ostream &, JoiningType::Value); + ::std::ostream& + operator<< (::std::ostream&, JoiningType::Value); -::std::ostream &operator<<(::std::ostream &, const JoiningType &); + ::std::ostream& + operator<< (::std::ostream&, const JoiningType&); -::std::ostream &operator<<(::std::ostream &, DisconnectionType::Value); + ::std::ostream& + operator<< (::std::ostream&, DisconnectionType::Value); -::std::ostream &operator<<(::std::ostream &, const DisconnectionType &); + ::std::ostream& + operator<< (::std::ostream&, const DisconnectionType&); -::std::ostream &operator<<(::std::ostream &, const ExecutionType &); + ::std::ostream& + operator<< (::std::ostream&, const ExecutionType&); -::std::ostream &operator<<(::std::ostream &, const CallType &); + ::std::ostream& + operator<< (::std::ostream&, const CallType&); -::std::ostream &operator<<(::std::ostream &, const SipDialogIdType &); + ::std::ostream& + operator<< (::std::ostream&, const SipDialogIdType&); -::std::ostream &operator<<(::std::ostream &, const MediaType &); + ::std::ostream& + operator<< (::std::ostream&, const MediaType&); -::std::ostream &operator<<(::std::ostream &, MediaStatusType::Value); + ::std::ostream& + operator<< (::std::ostream&, MediaStatusType::Value); -::std::ostream &operator<<(::std::ostream &, const MediaStatusType &); + ::std::ostream& + operator<< (::std::ostream&, const MediaStatusType&); -::std::ostream &operator<<(::std::ostream &, const SidebarsByValType &); -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate + ::std::ostream& + operator<< (::std::ostream&, const SidebarsByValType&); + } + } +} #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -// Parse a URI or a local file. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType> parseConferenceInfo( - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType > + parseConferenceInfo (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -3013,168 +3693,216 @@ namespace ConferenceInfo { #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace ConferenceInfo { -// Serialize to std::ostream. -// +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ConferenceInfo + { + // Serialize to std::ostream. + // + + void + serializeConferenceInfo (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeConferenceInfo (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeConferenceInfo (::std::ostream& os, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); -void serializeConferenceInfo(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeConferenceInfo(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeConferenceInfo(::std::ostream &os, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// + void + serializeConferenceInfo (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); -void serializeConferenceInfo(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeConferenceInfo(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeConferenceInfo(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// + // Serialize to an existing xercesc::DOMDocument. + // -void serializeConferenceInfo(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + void + serializeConferenceInfo (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); -// Serialize to a new xercesc::DOMDocument. -// + // Serialize to a new xercesc::DOMDocument. + // -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeConferenceInfo(const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeConferenceInfo (const ::LinphonePrivate::Xsd::ConferenceInfo::ConferenceType& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); -void operator<<(::xercesc::DOMElement &, const ConferenceType &); + void + operator<< (::xercesc::DOMElement&, const ConferenceType&); -void operator<<(::xercesc::DOMElement &, const StateType &); + void + operator<< (::xercesc::DOMElement&, const StateType&); -void operator<<(::xercesc::DOMAttr &, const StateType &); + void + operator<< (::xercesc::DOMAttr&, const StateType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const StateType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const StateType&); -void operator<<(::xercesc::DOMElement &, const ConferenceDescriptionType &); + void + operator<< (::xercesc::DOMElement&, const ConferenceDescriptionType&); -void operator<<(::xercesc::DOMElement &, const HostType &); + void + operator<< (::xercesc::DOMElement&, const HostType&); -void operator<<(::xercesc::DOMElement &, const ConferenceStateType &); + void + operator<< (::xercesc::DOMElement&, const ConferenceStateType&); -void operator<<(::xercesc::DOMElement &, const ConferenceMediaType &); + void + operator<< (::xercesc::DOMElement&, const ConferenceMediaType&); -void operator<<(::xercesc::DOMElement &, const ConferenceMediumType &); + void + operator<< (::xercesc::DOMElement&, const ConferenceMediumType&); -void operator<<(::xercesc::DOMElement &, const UrisType &); + void + operator<< (::xercesc::DOMElement&, const UrisType&); -void operator<<(::xercesc::DOMElement &, const UriType &); + void + operator<< (::xercesc::DOMElement&, const UriType&); -void operator<<(::xercesc::DOMElement &, const KeywordsType &); + void + operator<< (::xercesc::DOMElement&, const KeywordsType&); -void operator<<(::xercesc::DOMAttr &, const KeywordsType &); + void + operator<< (::xercesc::DOMAttr&, const KeywordsType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const KeywordsType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const KeywordsType&); -void operator<<(::xercesc::DOMElement &, const UsersType &); + void + operator<< (::xercesc::DOMElement&, const UsersType&); -void operator<<(::xercesc::DOMElement &, const UserType &); + void + operator<< (::xercesc::DOMElement&, const UserType&); -void operator<<(::xercesc::DOMElement &, const UserRolesType &); + void + operator<< (::xercesc::DOMElement&, const UserRolesType&); -void operator<<(::xercesc::DOMElement &, const UserLanguagesType &); + void + operator<< (::xercesc::DOMElement&, const UserLanguagesType&); -void operator<<(::xercesc::DOMAttr &, const UserLanguagesType &); + void + operator<< (::xercesc::DOMAttr&, const UserLanguagesType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const UserLanguagesType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const UserLanguagesType&); -void operator<<(::xercesc::DOMElement &, const EndpointType &); + void + operator<< (::xercesc::DOMElement&, const EndpointType&); -void operator<<(::xercesc::DOMElement &, const EndpointStatusType &); + void + operator<< (::xercesc::DOMElement&, const EndpointStatusType&); -void operator<<(::xercesc::DOMAttr &, const EndpointStatusType &); + void + operator<< (::xercesc::DOMAttr&, const EndpointStatusType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const EndpointStatusType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const EndpointStatusType&); -void operator<<(::xercesc::DOMElement &, const JoiningType &); + void + operator<< (::xercesc::DOMElement&, const JoiningType&); -void operator<<(::xercesc::DOMAttr &, const JoiningType &); + void + operator<< (::xercesc::DOMAttr&, const JoiningType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const JoiningType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const JoiningType&); -void operator<<(::xercesc::DOMElement &, const DisconnectionType &); + void + operator<< (::xercesc::DOMElement&, const DisconnectionType&); -void operator<<(::xercesc::DOMAttr &, const DisconnectionType &); + void + operator<< (::xercesc::DOMAttr&, const DisconnectionType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const DisconnectionType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const DisconnectionType&); -void operator<<(::xercesc::DOMElement &, const ExecutionType &); + void + operator<< (::xercesc::DOMElement&, const ExecutionType&); -void operator<<(::xercesc::DOMElement &, const CallType &); + void + operator<< (::xercesc::DOMElement&, const CallType&); -void operator<<(::xercesc::DOMElement &, const SipDialogIdType &); + void + operator<< (::xercesc::DOMElement&, const SipDialogIdType&); -void operator<<(::xercesc::DOMElement &, const MediaType &); + void + operator<< (::xercesc::DOMElement&, const MediaType&); -void operator<<(::xercesc::DOMElement &, const MediaStatusType &); + void + operator<< (::xercesc::DOMElement&, const MediaStatusType&); -void operator<<(::xercesc::DOMAttr &, const MediaStatusType &); + void + operator<< (::xercesc::DOMAttr&, const MediaStatusType&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const MediaStatusType &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const MediaStatusType&); -void operator<<(::xercesc::DOMElement &, const SidebarsByValType &); -} // namespace ConferenceInfo -} // namespace Xsd -} // namespace LinphonePrivate + void + operator<< (::xercesc::DOMElement&, const SidebarsByValType&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/imdn.cpp b/src/xml/imdn.cpp index 78f38209ef..03d3aab90a 100644 --- a/src/xml/imdn.cpp +++ b/src/xml/imdn.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,1944 +21,2744 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. -#include <xsd/cxx/pre.hxx> - -#include "imdn.h" - -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -// Imdn -// - -const Imdn::MessageIdType &Imdn::getMessageId() const { - return this->message_id_.get(); -} - -Imdn::MessageIdType &Imdn::getMessageId() { - return this->message_id_.get(); -} - -void Imdn::setMessageId(const MessageIdType &x) { - this->message_id_.set(x); -} - -void Imdn::setMessageId(::std::unique_ptr<MessageIdType> x) { - this->message_id_.set(std::move(x)); -} - -::std::unique_ptr<Imdn::MessageIdType> Imdn::setDetachMessage_id() { - return this->message_id_.detach(); -} - -const Imdn::DatetimeType &Imdn::getDatetime() const { - return this->datetime_.get(); -} - -Imdn::DatetimeType &Imdn::getDatetime() { - return this->datetime_.get(); -} - -void Imdn::setDatetime(const DatetimeType &x) { - this->datetime_.set(x); -} - -void Imdn::setDatetime(::std::unique_ptr<DatetimeType> x) { - this->datetime_.set(std::move(x)); -} - -::std::unique_ptr<Imdn::DatetimeType> Imdn::setDetachDatetime() { - return this->datetime_.detach(); -} - -const Imdn::RecipientUriOptional &Imdn::getRecipientUri() const { - return this->recipient_uri_; -} - -Imdn::RecipientUriOptional &Imdn::getRecipientUri() { - return this->recipient_uri_; -} - -void Imdn::setRecipientUri(const RecipientUriType &x) { - this->recipient_uri_.set(x); -} - -void Imdn::setRecipientUri(const RecipientUriOptional &x) { - this->recipient_uri_ = x; -} - -void Imdn::setRecipientUri(::std::unique_ptr<RecipientUriType> x) { - this->recipient_uri_.set(std::move(x)); -} - -const Imdn::OriginalRecipientUriOptional &Imdn::getOriginalRecipientUri() const { - return this->original_recipient_uri_; -} - -Imdn::OriginalRecipientUriOptional &Imdn::getOriginalRecipientUri() { - return this->original_recipient_uri_; -} - -void Imdn::setOriginalRecipientUri(const OriginalRecipientUriType &x) { - this->original_recipient_uri_.set(x); -} - -void Imdn::setOriginalRecipientUri(const OriginalRecipientUriOptional &x) { - this->original_recipient_uri_ = x; -} - -void Imdn::setOriginalRecipientUri(::std::unique_ptr<OriginalRecipientUriType> x) { - this->original_recipient_uri_.set(std::move(x)); -} - -const Imdn::SubjectOptional &Imdn::getSubject() const { - return this->subject_; -} - -Imdn::SubjectOptional &Imdn::getSubject() { - return this->subject_; -} - -void Imdn::setSubject(const SubjectType &x) { - this->subject_.set(x); -} - -void Imdn::setSubject(const SubjectOptional &x) { - this->subject_ = x; -} - -void Imdn::setSubject(::std::unique_ptr<SubjectType> x) { - this->subject_.set(std::move(x)); -} - -const Imdn::DeliveryNotificationOptional &Imdn::getDeliveryNotification() const { - return this->delivery_notification_; -} - -Imdn::DeliveryNotificationOptional &Imdn::getDeliveryNotification() { - return this->delivery_notification_; -} - -void Imdn::setDeliveryNotification(const DeliveryNotificationType &x) { - this->delivery_notification_.set(x); -} - -void Imdn::setDeliveryNotification(const DeliveryNotificationOptional &x) { - this->delivery_notification_ = x; -} - -void Imdn::setDeliveryNotification(::std::unique_ptr<DeliveryNotificationType> x) { - this->delivery_notification_.set(std::move(x)); -} - -const Imdn::DisplayNotificationOptional &Imdn::getDisplayNotification() const { - return this->display_notification_; -} - -Imdn::DisplayNotificationOptional &Imdn::getDisplayNotification() { - return this->display_notification_; -} - -void Imdn::setDisplayNotification(const DisplayNotificationType &x) { - this->display_notification_.set(x); -} - -void Imdn::setDisplayNotification(const DisplayNotificationOptional &x) { - this->display_notification_ = x; -} - -void Imdn::setDisplayNotification(::std::unique_ptr<DisplayNotificationType> x) { - this->display_notification_.set(std::move(x)); -} - -const Imdn::ProcessingNotificationOptional &Imdn::getProcessingNotification() const { - return this->processing_notification_; -} - -Imdn::ProcessingNotificationOptional &Imdn::getProcessingNotification() { - return this->processing_notification_; -} - -void Imdn::setProcessingNotification(const ProcessingNotificationType &x) { - this->processing_notification_.set(x); -} - -void Imdn::setProcessingNotification(const ProcessingNotificationOptional &x) { - this->processing_notification_ = x; -} - -void Imdn::setProcessingNotification(::std::unique_ptr<ProcessingNotificationType> x) { - this->processing_notification_.set(std::move(x)); -} - -const Imdn::AnySequence &Imdn::getAny() const { - return this->any_; -} - -Imdn::AnySequence &Imdn::getAny() { - return this->any_; -} - -void Imdn::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ::xercesc::DOMDocument &Imdn::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Imdn::getDomDocument() { - return *this->dom_document_; -} - -// DeliveryNotification -// - -const DeliveryNotification::StatusType &DeliveryNotification::getStatus() const { - return this->status_.get(); -} - -DeliveryNotification::StatusType &DeliveryNotification::getStatus() { - return this->status_.get(); -} - -void DeliveryNotification::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void DeliveryNotification::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -::std::unique_ptr<DeliveryNotification::StatusType> DeliveryNotification::setDetachStatus() { - return this->status_.detach(); -} - -// Delivered -// - -// Failed -// - -// DisplayNotification -// - -const DisplayNotification::StatusType &DisplayNotification::getStatus() const { - return this->status_.get(); -} - -DisplayNotification::StatusType &DisplayNotification::getStatus() { - return this->status_.get(); -} - -void DisplayNotification::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void DisplayNotification::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -::std::unique_ptr<DisplayNotification::StatusType> DisplayNotification::setDetachStatus() { - return this->status_.detach(); -} - -// Displayed -// - -// ProcessingNotification -// - -const ProcessingNotification::StatusType &ProcessingNotification::getStatus() const { - return this->status_.get(); -} - -ProcessingNotification::StatusType &ProcessingNotification::getStatus() { - return this->status_.get(); -} - -void ProcessingNotification::setStatus(const StatusType &x) { - this->status_.set(x); -} - -void ProcessingNotification::setStatus(::std::unique_ptr<StatusType> x) { - this->status_.set(std::move(x)); -} - -::std::unique_ptr<ProcessingNotification::StatusType> ProcessingNotification::setDetachStatus() { - return this->status_.detach(); -} - -// Processed -// - -// Stored -// - -// Forbidden -// - -// Error -// - -// Status -// - -const Status::DeliveredOptional &Status::getDelivered() const { - return this->delivered_; -} - -Status::DeliveredOptional &Status::getDelivered() { - return this->delivered_; -} - -void Status::setDelivered(const DeliveredType &x) { - this->delivered_.set(x); -} - -void Status::setDelivered(const DeliveredOptional &x) { - this->delivered_ = x; -} - -void Status::setDelivered(::std::unique_ptr<DeliveredType> x) { - this->delivered_.set(std::move(x)); -} - -const Status::FailedOptional &Status::getFailed() const { - return this->failed_; -} - -Status::FailedOptional &Status::getFailed() { - return this->failed_; -} - -void Status::setFailed(const FailedType &x) { - this->failed_.set(x); -} - -void Status::setFailed(const FailedOptional &x) { - this->failed_ = x; -} - -void Status::setFailed(::std::unique_ptr<FailedType> x) { - this->failed_.set(std::move(x)); -} - -const Status::ForbiddenOptional &Status::getForbidden() const { - return this->forbidden_; -} - -Status::ForbiddenOptional &Status::getForbidden() { - return this->forbidden_; -} - -void Status::setForbidden(const ForbiddenType &x) { - this->forbidden_.set(x); -} - -void Status::setForbidden(const ForbiddenOptional &x) { - this->forbidden_ = x; -} - -void Status::setForbidden(::std::unique_ptr<ForbiddenType> x) { - this->forbidden_.set(std::move(x)); -} - -const Status::ErrorOptional &Status::getError() const { - return this->error_; -} - -Status::ErrorOptional &Status::getError() { - return this->error_; -} - -void Status::setError(const ErrorType &x) { - this->error_.set(x); -} - -void Status::setError(const ErrorOptional &x) { - this->error_ = x; -} - -void Status::setError(::std::unique_ptr<ErrorType> x) { - this->error_.set(std::move(x)); -} - -const Status::ReasonOptional &Status::getReason() const { - return this->reason_; -} - -Status::ReasonOptional &Status::getReason() { - return this->reason_; -} - -void Status::setReason(const ReasonType &x) { - this->reason_.set(x); -} - -void Status::setReason(const ReasonOptional &x) { - this->reason_ = x; -} - -void Status::setReason(::std::unique_ptr<ReasonType> x) { - this->reason_.set(std::move(x)); -} - -// Status1 -// - -const Status1::DisplayedOptional &Status1::getDisplayed() const { - return this->displayed_; -} - -Status1::DisplayedOptional &Status1::getDisplayed() { - return this->displayed_; -} - -void Status1::setDisplayed(const DisplayedType &x) { - this->displayed_.set(x); -} - -void Status1::setDisplayed(const DisplayedOptional &x) { - this->displayed_ = x; -} - -void Status1::setDisplayed(::std::unique_ptr<DisplayedType> x) { - this->displayed_.set(std::move(x)); -} - -const Status1::ForbiddenOptional &Status1::getForbidden() const { - return this->forbidden_; -} - -Status1::ForbiddenOptional &Status1::getForbidden() { - return this->forbidden_; -} - -void Status1::setForbidden(const ForbiddenType &x) { - this->forbidden_.set(x); -} - -void Status1::setForbidden(const ForbiddenOptional &x) { - this->forbidden_ = x; -} - -void Status1::setForbidden(::std::unique_ptr<ForbiddenType> x) { - this->forbidden_.set(std::move(x)); -} - -const Status1::ErrorOptional &Status1::getError() const { - return this->error_; -} - -Status1::ErrorOptional &Status1::getError() { - return this->error_; -} - -void Status1::setError(const ErrorType &x) { - this->error_.set(x); -} - -void Status1::setError(const ErrorOptional &x) { - this->error_ = x; -} - -void Status1::setError(::std::unique_ptr<ErrorType> x) { - this->error_.set(std::move(x)); -} - -const Status1::AnySequence &Status1::getAny() const { - return this->any_; -} - -Status1::AnySequence &Status1::getAny() { - return this->any_; -} - -void Status1::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ::xercesc::DOMDocument &Status1::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Status1::getDomDocument() { - return *this->dom_document_; -} - -// Status2 -// - -const Status2::ProcessedOptional &Status2::getProcessed() const { - return this->processed_; -} - -Status2::ProcessedOptional &Status2::getProcessed() { - return this->processed_; -} - -void Status2::setProcessed(const ProcessedType &x) { - this->processed_.set(x); -} - -void Status2::setProcessed(const ProcessedOptional &x) { - this->processed_ = x; -} - -void Status2::setProcessed(::std::unique_ptr<ProcessedType> x) { - this->processed_.set(std::move(x)); -} - -const Status2::StoredOptional &Status2::getStored() const { - return this->stored_; -} - -Status2::StoredOptional &Status2::getStored() { - return this->stored_; -} - -void Status2::setStored(const StoredType &x) { - this->stored_.set(x); -} - -void Status2::setStored(const StoredOptional &x) { - this->stored_ = x; -} - -void Status2::setStored(::std::unique_ptr<StoredType> x) { - this->stored_.set(std::move(x)); -} - -const Status2::ForbiddenOptional &Status2::getForbidden() const { - return this->forbidden_; -} - -Status2::ForbiddenOptional &Status2::getForbidden() { - return this->forbidden_; -} - -void Status2::setForbidden(const ForbiddenType &x) { - this->forbidden_.set(x); -} - -void Status2::setForbidden(const ForbiddenOptional &x) { - this->forbidden_ = x; -} - -void Status2::setForbidden(::std::unique_ptr<ForbiddenType> x) { - this->forbidden_.set(std::move(x)); -} - -const Status2::ErrorOptional &Status2::getError() const { - return this->error_; -} - -Status2::ErrorOptional &Status2::getError() { - return this->error_; -} - -void Status2::setError(const ErrorType &x) { - this->error_.set(x); -} - -void Status2::setError(const ErrorOptional &x) { - this->error_ = x; -} - -void Status2::setError(::std::unique_ptr<ErrorType> x) { - this->error_.set(std::move(x)); -} - -const Status2::AnySequence &Status2::getAny() const { - return this->any_; -} - -Status2::AnySequence &Status2::getAny() { - return this->any_; -} - -void Status2::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ::xercesc::DOMDocument &Status2::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Status2::getDomDocument() { - return *this->dom_document_; -} -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate - -#include <xsd/cxx/xml/dom/wildcard-source.hxx> - -#include <xsd/cxx/xml/dom/parsing-source.hxx> - -#include <xsd/cxx/tree/type-factory-map.hxx> - -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -// Imdn -// - -Imdn::Imdn(const MessageIdType &message_id, const DatetimeType &datetime) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - message_id_(message_id, this), datetime_(datetime, this), recipient_uri_(this), original_recipient_uri_(this), - subject_(this), delivery_notification_(this), display_notification_(this), processing_notification_(this), - any_(this->getDomDocument()) { -} - -Imdn::Imdn(const Imdn &x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - message_id_(x.message_id_, f, this), datetime_(x.datetime_, f, this), recipient_uri_(x.recipient_uri_, f, this), - original_recipient_uri_(x.original_recipient_uri_, f, this), subject_(x.subject_, f, this), - delivery_notification_(x.delivery_notification_, f, this), - display_notification_(x.display_notification_, f, this), - processing_notification_(x.processing_notification_, f, this), any_(x.any_, this->getDomDocument()) { -} - -Imdn::Imdn(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), message_id_(this), datetime_(this), - recipient_uri_(this), original_recipient_uri_(this), subject_(this), delivery_notification_(this), - display_notification_(this), processing_notification_(this), any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void Imdn::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // message-id - // - if (n.name() == "message-id" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<MessageIdType> r(MessageIdTraits::create(i, f, this)); - - if (!message_id_.present()) { - this->message_id_.set(::std::move(r)); - continue; - } - } - - // datetime - // - if (n.name() == "datetime" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<DatetimeType> r(DatetimeTraits::create(i, f, this)); - - if (!datetime_.present()) { - this->datetime_.set(::std::move(r)); - continue; - } - } - - // recipient-uri - // - if (n.name() == "recipient-uri" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<RecipientUriType> r(RecipientUriTraits::create(i, f, this)); - - if (!this->recipient_uri_) { - this->recipient_uri_.set(::std::move(r)); - continue; - } - } - - // original-recipient-uri - // - if (n.name() == "original-recipient-uri" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<OriginalRecipientUriType> r(OriginalRecipientUriTraits::create(i, f, this)); - - if (!this->original_recipient_uri_) { - this->original_recipient_uri_.set(::std::move(r)); - continue; - } - } - - // subject - // - if (n.name() == "subject" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<SubjectType> r(SubjectTraits::create(i, f, this)); - - if (!this->subject_) { - this->subject_.set(::std::move(r)); - continue; - } - } - - // delivery-notification - // - if (n.name() == "delivery-notification" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<DeliveryNotificationType> r(DeliveryNotificationTraits::create(i, f, this)); - - if (!this->delivery_notification_) { - this->delivery_notification_.set(::std::move(r)); - continue; - } - } - - // display-notification - // - if (n.name() == "display-notification" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<DisplayNotificationType> r(DisplayNotificationTraits::create(i, f, this)); - - if (!this->display_notification_) { - this->display_notification_.set(::std::move(r)); - continue; - } - } - - // processing-notification - // - if (n.name() == "processing-notification" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ProcessingNotificationType> r(ProcessingNotificationTraits::create(i, f, this)); - - if (!this->processing_notification_) { - this->processing_notification_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:imdn")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!message_id_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("message-id", "urn:ietf:params:xml:ns:imdn"); - } - - if (!datetime_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("datetime", "urn:ietf:params:xml:ns:imdn"); - } -} - -Imdn *Imdn::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Imdn(*this, f, c); -} - -Imdn &Imdn::operator=(const Imdn &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->message_id_ = x.message_id_; - this->datetime_ = x.datetime_; - this->recipient_uri_ = x.recipient_uri_; - this->original_recipient_uri_ = x.original_recipient_uri_; - this->subject_ = x.subject_; - this->delivery_notification_ = x.delivery_notification_; - this->display_notification_ = x.display_notification_; - this->processing_notification_ = x.processing_notification_; - this->any_ = x.any_; - } - - return *this; -} - -Imdn::~Imdn() { -} - -// DeliveryNotification -// - -DeliveryNotification::DeliveryNotification(const StatusType &status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(status, this) { -} - -DeliveryNotification::DeliveryNotification(::std::unique_ptr<StatusType> status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(std::move(status), this) { -} - -DeliveryNotification::DeliveryNotification(const DeliveryNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), status_(x.status_, f, this) { -} - -DeliveryNotification::DeliveryNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), status_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void DeliveryNotification::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!status_.present()) { - this->status_.set(::std::move(r)); - continue; - } - } - - break; - } - - if (!status_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("status", "urn:ietf:params:xml:ns:imdn"); - } -} - -DeliveryNotification *DeliveryNotification::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class DeliveryNotification(*this, f, c); -} - -DeliveryNotification &DeliveryNotification::operator=(const DeliveryNotification &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->status_ = x.status_; - } - - return *this; -} - -DeliveryNotification::~DeliveryNotification() { -} - -// Delivered -// - -Delivered::Delivered() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Delivered::Delivered(const Delivered &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Delivered::Delivered(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Delivered::Delivered(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Delivered::Delivered(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Delivered *Delivered::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Delivered(*this, f, c); -} - -Delivered::~Delivered() { -} - -// Failed -// - -Failed::Failed() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Failed::Failed(const Failed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Failed::Failed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Failed::Failed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Failed::Failed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Failed *Failed::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Failed(*this, f, c); -} - -Failed::~Failed() { -} - -// DisplayNotification -// - -DisplayNotification::DisplayNotification(const StatusType &status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(status, this) { -} - -DisplayNotification::DisplayNotification(::std::unique_ptr<StatusType> status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(std::move(status), this) { -} - -DisplayNotification::DisplayNotification(const DisplayNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), status_(x.status_, f, this) { -} - -DisplayNotification::DisplayNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), status_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void DisplayNotification::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!status_.present()) { - this->status_.set(::std::move(r)); - continue; - } - } - - break; - } - - if (!status_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("status", "urn:ietf:params:xml:ns:imdn"); - } -} - -DisplayNotification *DisplayNotification::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class DisplayNotification(*this, f, c); -} - -DisplayNotification &DisplayNotification::operator=(const DisplayNotification &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->status_ = x.status_; - } - - return *this; -} - -DisplayNotification::~DisplayNotification() { -} - -// Displayed -// - -Displayed::Displayed() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Displayed::Displayed(const Displayed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Displayed::Displayed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Displayed::Displayed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Displayed::Displayed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Displayed *Displayed::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Displayed(*this, f, c); -} - -Displayed::~Displayed() { -} - -// ProcessingNotification -// - -ProcessingNotification::ProcessingNotification(const StatusType &status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(status, this) { -} - -ProcessingNotification::ProcessingNotification(::std::unique_ptr<StatusType> status) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), status_(std::move(status), this) { -} - -ProcessingNotification::ProcessingNotification(const ProcessingNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), status_(x.status_, f, this) { -} - -ProcessingNotification::ProcessingNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), status_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void ProcessingNotification::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // status - // - if (n.name() == "status" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<StatusType> r(StatusTraits::create(i, f, this)); - - if (!status_.present()) { - this->status_.set(::std::move(r)); - continue; - } - } - - break; - } - - if (!status_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("status", "urn:ietf:params:xml:ns:imdn"); - } -} - -ProcessingNotification *ProcessingNotification::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ProcessingNotification(*this, f, c); -} - -ProcessingNotification &ProcessingNotification::operator=(const ProcessingNotification &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->status_ = x.status_; - } - - return *this; -} - -ProcessingNotification::~ProcessingNotification() { -} - -// Processed -// - -Processed::Processed() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Processed::Processed(const Processed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Processed::Processed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Processed::Processed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Processed::Processed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Processed *Processed::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Processed(*this, f, c); -} - -Processed::~Processed() { -} - -// Stored -// - -Stored::Stored() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Stored::Stored(const Stored &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Stored::Stored(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Stored::Stored(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Stored::Stored(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Stored *Stored::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Stored(*this, f, c); -} - -Stored::~Stored() { -} - -// Forbidden -// - -Forbidden::Forbidden() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Forbidden::Forbidden(const Forbidden &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Forbidden::Forbidden(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Forbidden::Forbidden(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Forbidden::Forbidden(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Forbidden *Forbidden::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Forbidden(*this, f, c); -} - -Forbidden::~Forbidden() { -} - -// Error -// - -Error::Error() : ::LinphonePrivate::Xsd::XmlSchema::Type() { -} - -Error::Error(const Error &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c) { -} - -Error::Error(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f, c) { -} - -Error::Error(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(a, f, c) { -} - -Error::Error(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(s, e, f, c) { -} - -Error *Error::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Error(*this, f, c); -} - -Error::~Error() { -} - -// Status -// - -Status::Status() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), delivered_(this), failed_(this), forbidden_(this), error_(this), - reason_(this) { -} - -Status::Status(const Status &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), delivered_(x.delivered_, f, this), failed_(x.failed_, f, this), - forbidden_(x.forbidden_, f, this), error_(x.error_, f, this), reason_(x.reason_, f, this) { -} - -Status::Status(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - delivered_(this), failed_(this), forbidden_(this), error_(this), reason_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void Status::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // delivered - // - if (n.name() == "delivered" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<DeliveredType> r(DeliveredTraits::create(i, f, this)); - - if (!this->delivered_) { - this->delivered_.set(::std::move(r)); - continue; - } - } - - // failed - // - if (n.name() == "failed" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<FailedType> r(FailedTraits::create(i, f, this)); - - if (!this->failed_) { - this->failed_.set(::std::move(r)); - continue; - } - } - - // forbidden - // - if (n.name() == "forbidden" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ForbiddenType> r(ForbiddenTraits::create(i, f, this)); - - if (!this->forbidden_) { - this->forbidden_.set(::std::move(r)); - continue; - } - } - - // error - // - if (n.name() == "error" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ErrorType> r(ErrorTraits::create(i, f, this)); - - if (!this->error_) { - this->error_.set(::std::move(r)); - continue; - } - } - - // reason - // - if (n.name() == "reason" && n.namespace_() == "http://www.linphone.org/xsds/imdn.xsd") { - ::std::unique_ptr<ReasonType> r(ReasonTraits::create(i, f, this)); - - if (!this->reason_) { - this->reason_.set(::std::move(r)); - continue; - } - } - - break; - } -} +#include <xsd/cxx/pre.hxx> -Status *Status::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Status(*this, f, c); -} +#include "imdn.h" -Status &Status::operator=(const Status &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->delivered_ = x.delivered_; - this->failed_ = x.failed_; - this->forbidden_ = x.forbidden_; - this->error_ = x.error_; - this->reason_ = x.reason_; - } - - return *this; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + // Imdn + // + + const Imdn::MessageIdType& Imdn:: + getMessageId () const + { + return this->message_id_.get (); + } + + Imdn::MessageIdType& Imdn:: + getMessageId () + { + return this->message_id_.get (); + } + + void Imdn:: + setMessageId (const MessageIdType& x) + { + this->message_id_.set (x); + } + + void Imdn:: + setMessageId (::std::unique_ptr< MessageIdType > x) + { + this->message_id_.set (std::move (x)); + } + + ::std::unique_ptr< Imdn::MessageIdType > Imdn:: + setDetachMessage_id () + { + return this->message_id_.detach (); + } + + const Imdn::DatetimeType& Imdn:: + getDatetime () const + { + return this->datetime_.get (); + } + + Imdn::DatetimeType& Imdn:: + getDatetime () + { + return this->datetime_.get (); + } + + void Imdn:: + setDatetime (const DatetimeType& x) + { + this->datetime_.set (x); + } + + void Imdn:: + setDatetime (::std::unique_ptr< DatetimeType > x) + { + this->datetime_.set (std::move (x)); + } + + ::std::unique_ptr< Imdn::DatetimeType > Imdn:: + setDetachDatetime () + { + return this->datetime_.detach (); + } + + const Imdn::RecipientUriOptional& Imdn:: + getRecipientUri () const + { + return this->recipient_uri_; + } + + Imdn::RecipientUriOptional& Imdn:: + getRecipientUri () + { + return this->recipient_uri_; + } + + void Imdn:: + setRecipientUri (const RecipientUriType& x) + { + this->recipient_uri_.set (x); + } + + void Imdn:: + setRecipientUri (const RecipientUriOptional& x) + { + this->recipient_uri_ = x; + } + + void Imdn:: + setRecipientUri (::std::unique_ptr< RecipientUriType > x) + { + this->recipient_uri_.set (std::move (x)); + } + + const Imdn::OriginalRecipientUriOptional& Imdn:: + getOriginalRecipientUri () const + { + return this->original_recipient_uri_; + } + + Imdn::OriginalRecipientUriOptional& Imdn:: + getOriginalRecipientUri () + { + return this->original_recipient_uri_; + } + + void Imdn:: + setOriginalRecipientUri (const OriginalRecipientUriType& x) + { + this->original_recipient_uri_.set (x); + } + + void Imdn:: + setOriginalRecipientUri (const OriginalRecipientUriOptional& x) + { + this->original_recipient_uri_ = x; + } + + void Imdn:: + setOriginalRecipientUri (::std::unique_ptr< OriginalRecipientUriType > x) + { + this->original_recipient_uri_.set (std::move (x)); + } + + const Imdn::SubjectOptional& Imdn:: + getSubject () const + { + return this->subject_; + } + + Imdn::SubjectOptional& Imdn:: + getSubject () + { + return this->subject_; + } + + void Imdn:: + setSubject (const SubjectType& x) + { + this->subject_.set (x); + } + + void Imdn:: + setSubject (const SubjectOptional& x) + { + this->subject_ = x; + } + + void Imdn:: + setSubject (::std::unique_ptr< SubjectType > x) + { + this->subject_.set (std::move (x)); + } + + const Imdn::DeliveryNotificationOptional& Imdn:: + getDeliveryNotification () const + { + return this->delivery_notification_; + } + + Imdn::DeliveryNotificationOptional& Imdn:: + getDeliveryNotification () + { + return this->delivery_notification_; + } + + void Imdn:: + setDeliveryNotification (const DeliveryNotificationType& x) + { + this->delivery_notification_.set (x); + } + + void Imdn:: + setDeliveryNotification (const DeliveryNotificationOptional& x) + { + this->delivery_notification_ = x; + } + + void Imdn:: + setDeliveryNotification (::std::unique_ptr< DeliveryNotificationType > x) + { + this->delivery_notification_.set (std::move (x)); + } + + const Imdn::DisplayNotificationOptional& Imdn:: + getDisplayNotification () const + { + return this->display_notification_; + } + + Imdn::DisplayNotificationOptional& Imdn:: + getDisplayNotification () + { + return this->display_notification_; + } + + void Imdn:: + setDisplayNotification (const DisplayNotificationType& x) + { + this->display_notification_.set (x); + } + + void Imdn:: + setDisplayNotification (const DisplayNotificationOptional& x) + { + this->display_notification_ = x; + } + + void Imdn:: + setDisplayNotification (::std::unique_ptr< DisplayNotificationType > x) + { + this->display_notification_.set (std::move (x)); + } + + const Imdn::ProcessingNotificationOptional& Imdn:: + getProcessingNotification () const + { + return this->processing_notification_; + } + + Imdn::ProcessingNotificationOptional& Imdn:: + getProcessingNotification () + { + return this->processing_notification_; + } + + void Imdn:: + setProcessingNotification (const ProcessingNotificationType& x) + { + this->processing_notification_.set (x); + } + + void Imdn:: + setProcessingNotification (const ProcessingNotificationOptional& x) + { + this->processing_notification_ = x; + } + + void Imdn:: + setProcessingNotification (::std::unique_ptr< ProcessingNotificationType > x) + { + this->processing_notification_.set (std::move (x)); + } + + const Imdn::AnySequence& Imdn:: + getAny () const + { + return this->any_; + } + + Imdn::AnySequence& Imdn:: + getAny () + { + return this->any_; + } + + void Imdn:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& Imdn:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Imdn:: + getDomDocument () + { + return *this->dom_document_; + } + + + // DeliveryNotification + // + + const DeliveryNotification::StatusType& DeliveryNotification:: + getStatus () const + { + return this->status_.get (); + } + + DeliveryNotification::StatusType& DeliveryNotification:: + getStatus () + { + return this->status_.get (); + } + + void DeliveryNotification:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void DeliveryNotification:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + ::std::unique_ptr< DeliveryNotification::StatusType > DeliveryNotification:: + setDetachStatus () + { + return this->status_.detach (); + } + + + // Delivered + // + + + // Failed + // + + + // DisplayNotification + // + + const DisplayNotification::StatusType& DisplayNotification:: + getStatus () const + { + return this->status_.get (); + } + + DisplayNotification::StatusType& DisplayNotification:: + getStatus () + { + return this->status_.get (); + } + + void DisplayNotification:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void DisplayNotification:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + ::std::unique_ptr< DisplayNotification::StatusType > DisplayNotification:: + setDetachStatus () + { + return this->status_.detach (); + } + + + // Displayed + // + + + // ProcessingNotification + // + + const ProcessingNotification::StatusType& ProcessingNotification:: + getStatus () const + { + return this->status_.get (); + } + + ProcessingNotification::StatusType& ProcessingNotification:: + getStatus () + { + return this->status_.get (); + } + + void ProcessingNotification:: + setStatus (const StatusType& x) + { + this->status_.set (x); + } + + void ProcessingNotification:: + setStatus (::std::unique_ptr< StatusType > x) + { + this->status_.set (std::move (x)); + } + + ::std::unique_ptr< ProcessingNotification::StatusType > ProcessingNotification:: + setDetachStatus () + { + return this->status_.detach (); + } + + + // Processed + // + + + // Stored + // + + + // Forbidden + // + + + // Error + // + + + // Status + // + + const Status::DeliveredOptional& Status:: + getDelivered () const + { + return this->delivered_; + } + + Status::DeliveredOptional& Status:: + getDelivered () + { + return this->delivered_; + } + + void Status:: + setDelivered (const DeliveredType& x) + { + this->delivered_.set (x); + } + + void Status:: + setDelivered (const DeliveredOptional& x) + { + this->delivered_ = x; + } + + void Status:: + setDelivered (::std::unique_ptr< DeliveredType > x) + { + this->delivered_.set (std::move (x)); + } + + const Status::FailedOptional& Status:: + getFailed () const + { + return this->failed_; + } + + Status::FailedOptional& Status:: + getFailed () + { + return this->failed_; + } + + void Status:: + setFailed (const FailedType& x) + { + this->failed_.set (x); + } + + void Status:: + setFailed (const FailedOptional& x) + { + this->failed_ = x; + } + + void Status:: + setFailed (::std::unique_ptr< FailedType > x) + { + this->failed_.set (std::move (x)); + } + + const Status::ForbiddenOptional& Status:: + getForbidden () const + { + return this->forbidden_; + } + + Status::ForbiddenOptional& Status:: + getForbidden () + { + return this->forbidden_; + } + + void Status:: + setForbidden (const ForbiddenType& x) + { + this->forbidden_.set (x); + } + + void Status:: + setForbidden (const ForbiddenOptional& x) + { + this->forbidden_ = x; + } + + void Status:: + setForbidden (::std::unique_ptr< ForbiddenType > x) + { + this->forbidden_.set (std::move (x)); + } + + const Status::ErrorOptional& Status:: + getError () const + { + return this->error_; + } + + Status::ErrorOptional& Status:: + getError () + { + return this->error_; + } + + void Status:: + setError (const ErrorType& x) + { + this->error_.set (x); + } + + void Status:: + setError (const ErrorOptional& x) + { + this->error_ = x; + } + + void Status:: + setError (::std::unique_ptr< ErrorType > x) + { + this->error_.set (std::move (x)); + } + + const Status::ReasonOptional& Status:: + getReason () const + { + return this->reason_; + } + + Status::ReasonOptional& Status:: + getReason () + { + return this->reason_; + } + + void Status:: + setReason (const ReasonType& x) + { + this->reason_.set (x); + } + + void Status:: + setReason (const ReasonOptional& x) + { + this->reason_ = x; + } + + void Status:: + setReason (::std::unique_ptr< ReasonType > x) + { + this->reason_.set (std::move (x)); + } + + + // Status1 + // + + const Status1::DisplayedOptional& Status1:: + getDisplayed () const + { + return this->displayed_; + } + + Status1::DisplayedOptional& Status1:: + getDisplayed () + { + return this->displayed_; + } + + void Status1:: + setDisplayed (const DisplayedType& x) + { + this->displayed_.set (x); + } + + void Status1:: + setDisplayed (const DisplayedOptional& x) + { + this->displayed_ = x; + } + + void Status1:: + setDisplayed (::std::unique_ptr< DisplayedType > x) + { + this->displayed_.set (std::move (x)); + } + + const Status1::ForbiddenOptional& Status1:: + getForbidden () const + { + return this->forbidden_; + } + + Status1::ForbiddenOptional& Status1:: + getForbidden () + { + return this->forbidden_; + } + + void Status1:: + setForbidden (const ForbiddenType& x) + { + this->forbidden_.set (x); + } + + void Status1:: + setForbidden (const ForbiddenOptional& x) + { + this->forbidden_ = x; + } + + void Status1:: + setForbidden (::std::unique_ptr< ForbiddenType > x) + { + this->forbidden_.set (std::move (x)); + } + + const Status1::ErrorOptional& Status1:: + getError () const + { + return this->error_; + } + + Status1::ErrorOptional& Status1:: + getError () + { + return this->error_; + } + + void Status1:: + setError (const ErrorType& x) + { + this->error_.set (x); + } + + void Status1:: + setError (const ErrorOptional& x) + { + this->error_ = x; + } + + void Status1:: + setError (::std::unique_ptr< ErrorType > x) + { + this->error_.set (std::move (x)); + } + + const Status1::AnySequence& Status1:: + getAny () const + { + return this->any_; + } + + Status1::AnySequence& Status1:: + getAny () + { + return this->any_; + } + + void Status1:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& Status1:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Status1:: + getDomDocument () + { + return *this->dom_document_; + } + + + // Status2 + // + + const Status2::ProcessedOptional& Status2:: + getProcessed () const + { + return this->processed_; + } + + Status2::ProcessedOptional& Status2:: + getProcessed () + { + return this->processed_; + } + + void Status2:: + setProcessed (const ProcessedType& x) + { + this->processed_.set (x); + } + + void Status2:: + setProcessed (const ProcessedOptional& x) + { + this->processed_ = x; + } + + void Status2:: + setProcessed (::std::unique_ptr< ProcessedType > x) + { + this->processed_.set (std::move (x)); + } + + const Status2::StoredOptional& Status2:: + getStored () const + { + return this->stored_; + } + + Status2::StoredOptional& Status2:: + getStored () + { + return this->stored_; + } + + void Status2:: + setStored (const StoredType& x) + { + this->stored_.set (x); + } + + void Status2:: + setStored (const StoredOptional& x) + { + this->stored_ = x; + } + + void Status2:: + setStored (::std::unique_ptr< StoredType > x) + { + this->stored_.set (std::move (x)); + } + + const Status2::ForbiddenOptional& Status2:: + getForbidden () const + { + return this->forbidden_; + } + + Status2::ForbiddenOptional& Status2:: + getForbidden () + { + return this->forbidden_; + } + + void Status2:: + setForbidden (const ForbiddenType& x) + { + this->forbidden_.set (x); + } + + void Status2:: + setForbidden (const ForbiddenOptional& x) + { + this->forbidden_ = x; + } + + void Status2:: + setForbidden (::std::unique_ptr< ForbiddenType > x) + { + this->forbidden_.set (std::move (x)); + } + + const Status2::ErrorOptional& Status2:: + getError () const + { + return this->error_; + } + + Status2::ErrorOptional& Status2:: + getError () + { + return this->error_; + } + + void Status2:: + setError (const ErrorType& x) + { + this->error_.set (x); + } + + void Status2:: + setError (const ErrorOptional& x) + { + this->error_ = x; + } + + void Status2:: + setError (::std::unique_ptr< ErrorType > x) + { + this->error_.set (std::move (x)); + } + + const Status2::AnySequence& Status2:: + getAny () const + { + return this->any_; + } + + Status2::AnySequence& Status2:: + getAny () + { + return this->any_; + } + + void Status2:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& Status2:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Status2:: + getDomDocument () + { + return *this->dom_document_; + } + } + } } -Status::~Status() { -} +#include <xsd/cxx/xml/dom/wildcard-source.hxx> -// Status1 -// +#include <xsd/cxx/xml/dom/parsing-source.hxx> -Status1::Status1() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - displayed_(this), forbidden_(this), error_(this), any_(this->getDomDocument()) { -} +#include <xsd/cxx/tree/type-factory-map.hxx> -Status1::Status1(const Status1 &x, +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + // Imdn + // + + Imdn:: + Imdn (const MessageIdType& message_id, + const DatetimeType& datetime) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + message_id_ (message_id, this), + datetime_ (datetime, this), + recipient_uri_ (this), + original_recipient_uri_ (this), + subject_ (this), + delivery_notification_ (this), + display_notification_ (this), + processing_notification_ (this), + any_ (this->getDomDocument ()) + { + } + + Imdn:: + Imdn (const Imdn& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + message_id_ (x.message_id_, f, this), + datetime_ (x.datetime_, f, this), + recipient_uri_ (x.recipient_uri_, f, this), + original_recipient_uri_ (x.original_recipient_uri_, f, this), + subject_ (x.subject_, f, this), + delivery_notification_ (x.delivery_notification_, f, this), + display_notification_ (x.display_notification_, f, this), + processing_notification_ (x.processing_notification_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + Imdn:: + Imdn (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + message_id_ (this), + datetime_ (this), + recipient_uri_ (this), + original_recipient_uri_ (this), + subject_ (this), + delivery_notification_ (this), + display_notification_ (this), + processing_notification_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void Imdn:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // message-id + // + if (n.name () == "message-id" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< MessageIdType > r ( + MessageIdTraits::create (i, f, this)); + + if (!message_id_.present ()) + { + this->message_id_.set (::std::move (r)); + continue; + } + } + + // datetime + // + if (n.name () == "datetime" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< DatetimeType > r ( + DatetimeTraits::create (i, f, this)); + + if (!datetime_.present ()) + { + this->datetime_.set (::std::move (r)); + continue; + } + } + + // recipient-uri + // + if (n.name () == "recipient-uri" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< RecipientUriType > r ( + RecipientUriTraits::create (i, f, this)); + + if (!this->recipient_uri_) + { + this->recipient_uri_.set (::std::move (r)); + continue; + } + } + + // original-recipient-uri + // + if (n.name () == "original-recipient-uri" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< OriginalRecipientUriType > r ( + OriginalRecipientUriTraits::create (i, f, this)); + + if (!this->original_recipient_uri_) + { + this->original_recipient_uri_.set (::std::move (r)); + continue; + } + } + + // subject + // + if (n.name () == "subject" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< SubjectType > r ( + SubjectTraits::create (i, f, this)); + + if (!this->subject_) + { + this->subject_.set (::std::move (r)); + continue; + } + } + + // delivery-notification + // + if (n.name () == "delivery-notification" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< DeliveryNotificationType > r ( + DeliveryNotificationTraits::create (i, f, this)); + + if (!this->delivery_notification_) + { + this->delivery_notification_.set (::std::move (r)); + continue; + } + } + + // display-notification + // + if (n.name () == "display-notification" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< DisplayNotificationType > r ( + DisplayNotificationTraits::create (i, f, this)); + + if (!this->display_notification_) + { + this->display_notification_.set (::std::move (r)); + continue; + } + } + + // processing-notification + // + if (n.name () == "processing-notification" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ProcessingNotificationType > r ( + ProcessingNotificationTraits::create (i, f, this)); + + if (!this->processing_notification_) + { + this->processing_notification_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:imdn")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!message_id_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "message-id", + "urn:ietf:params:xml:ns:imdn"); + } + + if (!datetime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "datetime", + "urn:ietf:params:xml:ns:imdn"); + } + } + + Imdn* Imdn:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Imdn (*this, f, c); + } + + Imdn& Imdn:: + operator= (const Imdn& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->message_id_ = x.message_id_; + this->datetime_ = x.datetime_; + this->recipient_uri_ = x.recipient_uri_; + this->original_recipient_uri_ = x.original_recipient_uri_; + this->subject_ = x.subject_; + this->delivery_notification_ = x.delivery_notification_; + this->display_notification_ = x.display_notification_; + this->processing_notification_ = x.processing_notification_; + this->any_ = x.any_; + } + + return *this; + } + + Imdn:: + ~Imdn () + { + } + + // DeliveryNotification + // + + DeliveryNotification:: + DeliveryNotification (const StatusType& status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (status, this) + { + } + + DeliveryNotification:: + DeliveryNotification (::std::unique_ptr< StatusType > status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (std::move (status), this) + { + } + + DeliveryNotification:: + DeliveryNotification (const DeliveryNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + status_ (x.status_, f, this) + { + } + + DeliveryNotification:: + DeliveryNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + status_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void DeliveryNotification:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!status_.present ()) + { + this->status_.set (::std::move (r)); + continue; + } + } + + break; + } + + if (!status_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "status", + "urn:ietf:params:xml:ns:imdn"); + } + } + + DeliveryNotification* DeliveryNotification:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class DeliveryNotification (*this, f, c); + } + + DeliveryNotification& DeliveryNotification:: + operator= (const DeliveryNotification& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->status_ = x.status_; + } + + return *this; + } + + DeliveryNotification:: + ~DeliveryNotification () + { + } + + // Delivered + // + + Delivered:: + Delivered () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Delivered:: + Delivered (const Delivered& x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - displayed_(x.displayed_, f, this), forbidden_(x.forbidden_, f, this), error_(x.error_, f, this), - any_(x.any_, this->getDomDocument()) { -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } -Status1::Status1(const ::xercesc::DOMElement &e, + Delivered:: + Delivered (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), displayed_(this), forbidden_(this), error_(this), - any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void Status1::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // displayed - // - if (n.name() == "displayed" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<DisplayedType> r(DisplayedTraits::create(i, f, this)); - - if (!this->displayed_) { - this->displayed_.set(::std::move(r)); - continue; - } - } - - // forbidden - // - if (n.name() == "forbidden" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ForbiddenType> r(ForbiddenTraits::create(i, f, this)); - - if (!this->forbidden_) { - this->forbidden_.set(::std::move(r)); - continue; - } - } - - // error - // - if (n.name() == "error" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ErrorType> r(ErrorTraits::create(i, f, this)); - - if (!this->error_) { - this->error_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:imdn")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } -} - -Status1 *Status1::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Status1(*this, f, c); -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } -Status1 &Status1::operator=(const Status1 &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->displayed_ = x.displayed_; - this->forbidden_ = x.forbidden_; - this->error_ = x.error_; - this->any_ = x.any_; - } - - return *this; -} - -Status1::~Status1() { -} + Delivered:: + Delivered (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Delivered:: + Delivered (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Delivered* Delivered:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Delivered (*this, f, c); + } + + Delivered:: + ~Delivered () + { + } + + // Failed + // + + Failed:: + Failed () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Failed:: + Failed (const Failed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } + + Failed:: + Failed (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } + + Failed:: + Failed (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Failed:: + Failed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Failed* Failed:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Failed (*this, f, c); + } + + Failed:: + ~Failed () + { + } + + // DisplayNotification + // + + DisplayNotification:: + DisplayNotification (const StatusType& status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (status, this) + { + } + + DisplayNotification:: + DisplayNotification (::std::unique_ptr< StatusType > status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (std::move (status), this) + { + } + + DisplayNotification:: + DisplayNotification (const DisplayNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + status_ (x.status_, f, this) + { + } + + DisplayNotification:: + DisplayNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + status_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void DisplayNotification:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!status_.present ()) + { + this->status_.set (::std::move (r)); + continue; + } + } + + break; + } + + if (!status_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "status", + "urn:ietf:params:xml:ns:imdn"); + } + } + + DisplayNotification* DisplayNotification:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class DisplayNotification (*this, f, c); + } + + DisplayNotification& DisplayNotification:: + operator= (const DisplayNotification& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->status_ = x.status_; + } + + return *this; + } + + DisplayNotification:: + ~DisplayNotification () + { + } + + // Displayed + // + + Displayed:: + Displayed () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Displayed:: + Displayed (const Displayed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } -// Status2 -// + Displayed:: + Displayed (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } -Status2::Status2() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - processed_(this), stored_(this), forbidden_(this), error_(this), any_(this->getDomDocument()) { -} + Displayed:: + Displayed (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Displayed:: + Displayed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Displayed* Displayed:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Displayed (*this, f, c); + } + + Displayed:: + ~Displayed () + { + } + + // ProcessingNotification + // + + ProcessingNotification:: + ProcessingNotification (const StatusType& status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (status, this) + { + } + + ProcessingNotification:: + ProcessingNotification (::std::unique_ptr< StatusType > status) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + status_ (std::move (status), this) + { + } + + ProcessingNotification:: + ProcessingNotification (const ProcessingNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + status_ (x.status_, f, this) + { + } + + ProcessingNotification:: + ProcessingNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + status_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void ProcessingNotification:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // status + // + if (n.name () == "status" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< StatusType > r ( + StatusTraits::create (i, f, this)); + + if (!status_.present ()) + { + this->status_.set (::std::move (r)); + continue; + } + } + + break; + } + + if (!status_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "status", + "urn:ietf:params:xml:ns:imdn"); + } + } + + ProcessingNotification* ProcessingNotification:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ProcessingNotification (*this, f, c); + } + + ProcessingNotification& ProcessingNotification:: + operator= (const ProcessingNotification& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->status_ = x.status_; + } + + return *this; + } + + ProcessingNotification:: + ~ProcessingNotification () + { + } + + // Processed + // + + Processed:: + Processed () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Processed:: + Processed (const Processed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } -Status2::Status2(const Status2 &x, + Processed:: + Processed (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - processed_(x.processed_, f, this), stored_(x.stored_, f, this), forbidden_(x.forbidden_, f, this), - error_(x.error_, f, this), any_(x.any_, this->getDomDocument()) { -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } -Status2::Status2(const ::xercesc::DOMElement &e, + Processed:: + Processed (const ::xercesc::DOMAttr& a, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), processed_(this), stored_(this), forbidden_(this), - error_(this), any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Processed:: + Processed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Processed* Processed:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Processed (*this, f, c); + } + + Processed:: + ~Processed () + { + } + + // Stored + // + + Stored:: + Stored () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Stored:: + Stored (const Stored& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } + + Stored:: + Stored (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } + + Stored:: + Stored (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Stored:: + Stored (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Stored* Stored:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Stored (*this, f, c); + } + + Stored:: + ~Stored () + { + } + + // Forbidden + // + + Forbidden:: + Forbidden () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Forbidden:: + Forbidden (const Forbidden& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } -void Status2::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // processed - // - if (n.name() == "processed" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ProcessedType> r(ProcessedTraits::create(i, f, this)); - - if (!this->processed_) { - this->processed_.set(::std::move(r)); - continue; - } - } - - // stored - // - if (n.name() == "stored" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<StoredType> r(StoredTraits::create(i, f, this)); - - if (!this->stored_) { - this->stored_.set(::std::move(r)); - continue; - } - } - - // forbidden - // - if (n.name() == "forbidden" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ForbiddenType> r(ForbiddenTraits::create(i, f, this)); - - if (!this->forbidden_) { - this->forbidden_.set(::std::move(r)); - continue; - } - } - - // error - // - if (n.name() == "error" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<ErrorType> r(ErrorTraits::create(i, f, this)); - - if (!this->error_) { - this->error_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:imdn")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } -} + Forbidden:: + Forbidden (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } -Status2 *Status2::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Status2(*this, f, c); -} + Forbidden:: + Forbidden (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Forbidden:: + Forbidden (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Forbidden* Forbidden:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Forbidden (*this, f, c); + } + + Forbidden:: + ~Forbidden () + { + } + + // Error + // + + Error:: + Error () + : ::LinphonePrivate::Xsd::XmlSchema::Type () + { + } + + Error:: + Error (const Error& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c) + { + } -Status2 &Status2::operator=(const Status2 &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->processed_ = x.processed_; - this->stored_ = x.stored_; - this->forbidden_ = x.forbidden_; - this->error_ = x.error_; - this->any_ = x.any_; - } - - return *this; -} + Error:: + Error (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f, c) + { + } -Status2::~Status2() { + Error:: + Error (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (a, f, c) + { + } + + Error:: + Error (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (s, e, f, c) + { + } + + Error* Error:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Error (*this, f, c); + } + + Error:: + ~Error () + { + } + + // Status + // + + Status:: + Status () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + delivered_ (this), + failed_ (this), + forbidden_ (this), + error_ (this), + reason_ (this) + { + } + + Status:: + Status (const Status& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + delivered_ (x.delivered_, f, this), + failed_ (x.failed_, f, this), + forbidden_ (x.forbidden_, f, this), + error_ (x.error_, f, this), + reason_ (x.reason_, f, this) + { + } + + Status:: + Status (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + delivered_ (this), + failed_ (this), + forbidden_ (this), + error_ (this), + reason_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void Status:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // delivered + // + if (n.name () == "delivered" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< DeliveredType > r ( + DeliveredTraits::create (i, f, this)); + + if (!this->delivered_) + { + this->delivered_.set (::std::move (r)); + continue; + } + } + + // failed + // + if (n.name () == "failed" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< FailedType > r ( + FailedTraits::create (i, f, this)); + + if (!this->failed_) + { + this->failed_.set (::std::move (r)); + continue; + } + } + + // forbidden + // + if (n.name () == "forbidden" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ForbiddenType > r ( + ForbiddenTraits::create (i, f, this)); + + if (!this->forbidden_) + { + this->forbidden_.set (::std::move (r)); + continue; + } + } + + // error + // + if (n.name () == "error" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ErrorType > r ( + ErrorTraits::create (i, f, this)); + + if (!this->error_) + { + this->error_.set (::std::move (r)); + continue; + } + } + + // reason + // + if (n.name () == "reason" && n.namespace_ () == "http://www.linphone.org/xsds/imdn.xsd") + { + ::std::unique_ptr< ReasonType > r ( + ReasonTraits::create (i, f, this)); + + if (!this->reason_) + { + this->reason_.set (::std::move (r)); + continue; + } + } + + break; + } + } + + Status* Status:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Status (*this, f, c); + } + + Status& Status:: + operator= (const Status& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->delivered_ = x.delivered_; + this->failed_ = x.failed_; + this->forbidden_ = x.forbidden_; + this->error_ = x.error_; + this->reason_ = x.reason_; + } + + return *this; + } + + Status:: + ~Status () + { + } + + // Status1 + // + + Status1:: + Status1 () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + displayed_ (this), + forbidden_ (this), + error_ (this), + any_ (this->getDomDocument ()) + { + } + + Status1:: + Status1 (const Status1& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + displayed_ (x.displayed_, f, this), + forbidden_ (x.forbidden_, f, this), + error_ (x.error_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + Status1:: + Status1 (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + displayed_ (this), + forbidden_ (this), + error_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void Status1:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // displayed + // + if (n.name () == "displayed" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< DisplayedType > r ( + DisplayedTraits::create (i, f, this)); + + if (!this->displayed_) + { + this->displayed_.set (::std::move (r)); + continue; + } + } + + // forbidden + // + if (n.name () == "forbidden" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ForbiddenType > r ( + ForbiddenTraits::create (i, f, this)); + + if (!this->forbidden_) + { + this->forbidden_.set (::std::move (r)); + continue; + } + } + + // error + // + if (n.name () == "error" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ErrorType > r ( + ErrorTraits::create (i, f, this)); + + if (!this->error_) + { + this->error_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:imdn")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + } + + Status1* Status1:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Status1 (*this, f, c); + } + + Status1& Status1:: + operator= (const Status1& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->displayed_ = x.displayed_; + this->forbidden_ = x.forbidden_; + this->error_ = x.error_; + this->any_ = x.any_; + } + + return *this; + } + + Status1:: + ~Status1 () + { + } + + // Status2 + // + + Status2:: + Status2 () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + processed_ (this), + stored_ (this), + forbidden_ (this), + error_ (this), + any_ (this->getDomDocument ()) + { + } + + Status2:: + Status2 (const Status2& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + processed_ (x.processed_, f, this), + stored_ (x.stored_, f, this), + forbidden_ (x.forbidden_, f, this), + error_ (x.error_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + Status2:: + Status2 (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + processed_ (this), + stored_ (this), + forbidden_ (this), + error_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void Status2:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // processed + // + if (n.name () == "processed" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ProcessedType > r ( + ProcessedTraits::create (i, f, this)); + + if (!this->processed_) + { + this->processed_.set (::std::move (r)); + continue; + } + } + + // stored + // + if (n.name () == "stored" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< StoredType > r ( + StoredTraits::create (i, f, this)); + + if (!this->stored_) + { + this->stored_.set (::std::move (r)); + continue; + } + } + + // forbidden + // + if (n.name () == "forbidden" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ForbiddenType > r ( + ForbiddenTraits::create (i, f, this)); + + if (!this->forbidden_) + { + this->forbidden_.set (::std::move (r)); + continue; + } + } + + // error + // + if (n.name () == "error" && n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ErrorType > r ( + ErrorTraits::create (i, f, this)); + + if (!this->error_) + { + this->error_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:imdn")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + } + + Status2* Status2:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Status2 (*this, f, c); + } + + Status2& Status2:: + operator= (const Status2& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->processed_ = x.processed_; + this->stored_ = x.stored_; + this->forbidden_ = x.forbidden_; + this->error_ = x.error_; + this->any_ = x.any_; + } + + return *this; + } + + Status2:: + ~Status2 () + { + } + } + } } -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -::std::ostream &operator<<(::std::ostream &o, const Imdn &i) { - o << ::std::endl << "message-id: " << i.getMessageId(); - o << ::std::endl << "datetime: " << i.getDatetime(); - if (i.getRecipientUri()) { - o << ::std::endl << "recipient-uri: " << *i.getRecipientUri(); - } - - if (i.getOriginalRecipientUri()) { - o << ::std::endl << "original-recipient-uri: " << *i.getOriginalRecipientUri(); - } - - if (i.getSubject()) { - o << ::std::endl << "subject: " << *i.getSubject(); - } - - if (i.getDeliveryNotification()) { - o << ::std::endl << "delivery-notification: " << *i.getDeliveryNotification(); - } - - if (i.getDisplayNotification()) { - o << ::std::endl << "display-notification: " << *i.getDisplayNotification(); - } - - if (i.getProcessingNotification()) { - o << ::std::endl << "processing-notification: " << *i.getProcessingNotification(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const DeliveryNotification &i) { - o << ::std::endl << "status: " << i.getStatus(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Delivered &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Failed &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const DisplayNotification &i) { - o << ::std::endl << "status: " << i.getStatus(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Displayed &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ProcessingNotification &i) { - o << ::std::endl << "status: " << i.getStatus(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Processed &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Stored &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Forbidden &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Error &) { - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Status &i) { - if (i.getDelivered()) { - o << ::std::endl << "delivered: " << *i.getDelivered(); - } - - if (i.getFailed()) { - o << ::std::endl << "failed: " << *i.getFailed(); - } - - if (i.getForbidden()) { - o << ::std::endl << "forbidden: " << *i.getForbidden(); - } - - if (i.getError()) { - o << ::std::endl << "error: " << *i.getError(); - } - - if (i.getReason()) { - o << ::std::endl << "reason: " << *i.getReason(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Status1 &i) { - if (i.getDisplayed()) { - o << ::std::endl << "displayed: " << *i.getDisplayed(); - } - - if (i.getForbidden()) { - o << ::std::endl << "forbidden: " << *i.getForbidden(); - } - - if (i.getError()) { - o << ::std::endl << "error: " << *i.getError(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Status2 &i) { - if (i.getProcessed()) { - o << ::std::endl << "processed: " << *i.getProcessed(); - } - - if (i.getStored()) { - o << ::std::endl << "stored: " << *i.getStored(); - } - - if (i.getForbidden()) { - o << ::std::endl << "forbidden: " << *i.getForbidden(); - } - - if (i.getError()) { - o << ::std::endl << "error: " << *i.getError(); - } - - return o; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + ::std::ostream& + operator<< (::std::ostream& o, const Imdn& i) + { + o << ::std::endl << "message-id: " << i.getMessageId (); + o << ::std::endl << "datetime: " << i.getDatetime (); + if (i.getRecipientUri ()) + { + o << ::std::endl << "recipient-uri: " << *i.getRecipientUri (); + } + + if (i.getOriginalRecipientUri ()) + { + o << ::std::endl << "original-recipient-uri: " << *i.getOriginalRecipientUri (); + } + + if (i.getSubject ()) + { + o << ::std::endl << "subject: " << *i.getSubject (); + } + + if (i.getDeliveryNotification ()) + { + o << ::std::endl << "delivery-notification: " << *i.getDeliveryNotification (); + } + + if (i.getDisplayNotification ()) + { + o << ::std::endl << "display-notification: " << *i.getDisplayNotification (); + } + + if (i.getProcessingNotification ()) + { + o << ::std::endl << "processing-notification: " << *i.getProcessingNotification (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const DeliveryNotification& i) + { + o << ::std::endl << "status: " << i.getStatus (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Delivered&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Failed&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const DisplayNotification& i) + { + o << ::std::endl << "status: " << i.getStatus (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Displayed&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ProcessingNotification& i) + { + o << ::std::endl << "status: " << i.getStatus (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Processed&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Stored&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Forbidden&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Error&) + { + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Status& i) + { + if (i.getDelivered ()) + { + o << ::std::endl << "delivered: " << *i.getDelivered (); + } + + if (i.getFailed ()) + { + o << ::std::endl << "failed: " << *i.getFailed (); + } + + if (i.getForbidden ()) + { + o << ::std::endl << "forbidden: " << *i.getForbidden (); + } + + if (i.getError ()) + { + o << ::std::endl << "error: " << *i.getError (); + } + + if (i.getReason ()) + { + o << ::std::endl << "reason: " << *i.getReason (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Status1& i) + { + if (i.getDisplayed ()) + { + o << ::std::endl << "displayed: " << *i.getDisplayed (); + } + + if (i.getForbidden ()) + { + o << ::std::endl << "forbidden: " << *i.getForbidden (); + } + + if (i.getError ()) + { + o << ::std::endl << "error: " << *i.getError (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Status2& i) + { + if (i.getProcessed ()) + { + o << ::std::endl << "processed: " << *i.getProcessed (); + } + + if (i.getStored ()) + { + o << ::std::endl << "stored: " << *i.getStored (); + } + + if (i.getForbidden ()) + { + o << ::std::endl << "forbidden: " << *i.getForbidden (); + } + + if (i.getError ()) + { + o << ::std::endl << "error: " << *i.getError (); + } + + return o; + } + } + } } -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Imdn::parseImdn(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn>(::LinphonePrivate::Xsd::Imdn::parseImdn( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); + ::xsd::cxx::tree::error_handler< char > h; - if (n.name() == "imdn" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::Imdn::Imdn, char>::create(e, f, 0)); - return r; - } + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "imdn", "urn:ietf:params:xml:ns:imdn"); -} + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Imdn::parseImdn (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); - if (n.name() == "imdn" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - ::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::Imdn::Imdn, char>::create(e, f, 0)); - return r; - } + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "imdn", "urn:ietf:params:xml:ns:imdn"); + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > ( + ::LinphonePrivate::Xsd::Imdn::parseImdn ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "imdn" && + n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::Imdn::Imdn, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "imdn", + "urn:ietf:params:xml:ns:imdn"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "imdn" && + n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::Imdn::Imdn, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "imdn", + "urn:ietf:params:xml:ns:imdn"); + } + } + } } -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -1966,448 +2766,671 @@ parseImdn(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocum #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -void serializeImdn(::std::ostream &o, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeImdn(::std::ostream &o, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeImdn(::std::ostream &o, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeImdn(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeImdn(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeImdn(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Imdn::serializeImdn(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeImdn(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "imdn" && n.namespace_() == "urn:ietf:params:xml:ns:imdn") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "imdn", - "urn:ietf:params:xml:ns:imdn"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeImdn(const ::LinphonePrivate::Xsd::Imdn::Imdn &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("imdn", "urn:ietf:params:xml:ns:imdn", m, f)); - - ::LinphonePrivate::Xsd::Imdn::serializeImdn(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const Imdn &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // message-id - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("message-id", "urn:ietf:params:xml:ns:imdn", e)); - - s << i.getMessageId(); - } - - // datetime - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("datetime", "urn:ietf:params:xml:ns:imdn", e)); - - s << i.getDatetime(); - } - - // recipient-uri - // - if (i.getRecipientUri()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("recipient-uri", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getRecipientUri(); - } - - // original-recipient-uri - // - if (i.getOriginalRecipientUri()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("original-recipient-uri", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getOriginalRecipientUri(); - } - - // subject - // - if (i.getSubject()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("subject", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getSubject(); - } - - // delivery-notification - // - if (i.getDeliveryNotification()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("delivery-notification", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getDeliveryNotification(); - } - - // display-notification - // - if (i.getDisplayNotification()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-notification", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getDisplayNotification(); - } - - // processing-notification - // - if (i.getProcessingNotification()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("processing-notification", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getProcessingNotification(); - } - - // any - // - for (Imdn::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const DeliveryNotification &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // status - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:imdn", e)); - - s << i.getStatus(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Delivered &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Delivered &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Delivered &) { -} - -void operator<<(::xercesc::DOMElement &e, const Failed &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Failed &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Failed &) { -} - -void operator<<(::xercesc::DOMElement &e, const DisplayNotification &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // status - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:imdn", e)); - - s << i.getStatus(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Displayed &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Displayed &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Displayed &) { -} - -void operator<<(::xercesc::DOMElement &e, const ProcessingNotification &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // status - // - { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("status", "urn:ietf:params:xml:ns:imdn", e)); - - s << i.getStatus(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Processed &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Processed &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Processed &) { -} - -void operator<<(::xercesc::DOMElement &e, const Stored &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Stored &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Stored &) { -} - -void operator<<(::xercesc::DOMElement &e, const Forbidden &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Forbidden &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Forbidden &) { -} - -void operator<<(::xercesc::DOMElement &e, const Error &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); -} - -void operator<<(::xercesc::DOMAttr &, const Error &) { -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Error &) { -} - -void operator<<(::xercesc::DOMElement &e, const Status &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // delivered - // - if (i.getDelivered()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("delivered", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getDelivered(); - } - - // failed - // - if (i.getFailed()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("failed", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getFailed(); - } - - // forbidden - // - if (i.getForbidden()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("forbidden", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getForbidden(); - } - - // error - // - if (i.getError()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("error", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getError(); - } - - // reason - // - if (i.getReason()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("reason", "http://www.linphone.org/xsds/imdn.xsd", e)); - - s << *i.getReason(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Status1 &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // displayed - // - if (i.getDisplayed()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("displayed", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getDisplayed(); - } - - // forbidden - // - if (i.getForbidden()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("forbidden", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getForbidden(); - } - - // error - // - if (i.getError()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("error", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getError(); - } - - // any - // - for (Status1::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} - -void operator<<(::xercesc::DOMElement &e, const Status2 &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // processed - // - if (i.getProcessed()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("processed", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getProcessed(); - } - - // stored - // - if (i.getStored()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("stored", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getStored(); - } - - // forbidden - // - if (i.getForbidden()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("forbidden", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getForbidden(); - } - - // error - // - if (i.getError()) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("error", "urn:ietf:params:xml:ns:imdn", e)); - - s << *i.getError(); - } - - // any - // - for (Status2::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + void + serializeImdn (::std::ostream& o, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeImdn (::std::ostream& o, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeImdn (::std::ostream& o, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeImdn (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeImdn (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeImdn (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Imdn::serializeImdn (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeImdn (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "imdn" && + n.namespace_ () == "urn:ietf:params:xml:ns:imdn") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "imdn", + "urn:ietf:params:xml:ns:imdn"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeImdn (const ::LinphonePrivate::Xsd::Imdn::Imdn& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "imdn", + "urn:ietf:params:xml:ns:imdn", + m, f)); + + ::LinphonePrivate::Xsd::Imdn::serializeImdn (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const Imdn& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // message-id + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "message-id", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << i.getMessageId (); + } + + // datetime + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "datetime", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << i.getDatetime (); + } + + // recipient-uri + // + if (i.getRecipientUri ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "recipient-uri", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getRecipientUri (); + } + + // original-recipient-uri + // + if (i.getOriginalRecipientUri ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "original-recipient-uri", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getOriginalRecipientUri (); + } + + // subject + // + if (i.getSubject ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "subject", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getSubject (); + } + + // delivery-notification + // + if (i.getDeliveryNotification ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "delivery-notification", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getDeliveryNotification (); + } + + // display-notification + // + if (i.getDisplayNotification ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-notification", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getDisplayNotification (); + } + + // processing-notification + // + if (i.getProcessingNotification ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "processing-notification", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getProcessingNotification (); + } + + // any + // + for (Imdn::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const DeliveryNotification& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // status + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << i.getStatus (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Delivered& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Delivered&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Delivered&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const Failed& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Failed&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Failed&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const DisplayNotification& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // status + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << i.getStatus (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Displayed& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Displayed&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Displayed&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const ProcessingNotification& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // status + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << i.getStatus (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Processed& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Processed&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Processed&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const Stored& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Stored&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Stored&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const Forbidden& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Forbidden&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Forbidden&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const Error& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const Error&) + { + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Error&) + { + } + + void + operator<< (::xercesc::DOMElement& e, const Status& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // delivered + // + if (i.getDelivered ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "delivered", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getDelivered (); + } + + // failed + // + if (i.getFailed ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "failed", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getFailed (); + } + + // forbidden + // + if (i.getForbidden ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "forbidden", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getForbidden (); + } + + // error + // + if (i.getError ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "error", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getError (); + } + + // reason + // + if (i.getReason ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reason", + "http://www.linphone.org/xsds/imdn.xsd", + e)); + + s << *i.getReason (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Status1& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // displayed + // + if (i.getDisplayed ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "displayed", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getDisplayed (); + } + + // forbidden + // + if (i.getForbidden ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "forbidden", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getForbidden (); + } + + // error + // + if (i.getError ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "error", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getError (); + } + + // any + // + for (Status1::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Status2& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // processed + // + if (i.getProcessed ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "processed", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getProcessed (); + } + + // stored + // + if (i.getStored ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "stored", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getStored (); + } + + // forbidden + // + if (i.getForbidden ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "forbidden", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getForbidden (); + } + + // error + // + if (i.getError ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "error", + "urn:ietf:params:xml:ns:imdn", + e)); + + s << *i.getError (); + } + + // any + // + for (Status2::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + } + } } -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/imdn.h b/src/xml/imdn.h index c596f35fa5..cae904b80c 100644 --- a/src/xml/imdn.h +++ b/src/xml/imdn.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,225 +71,233 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -class Imdn; -class DeliveryNotification; -class Delivered; -class Failed; -class DisplayNotification; -class Displayed; -class ProcessingNotification; -class Processed; -class Stored; -class Forbidden; -class Error; -class Status; -class Status1; -class Status2; -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + class Imdn; + class DeliveryNotification; + class Delivered; + class Failed; + class DisplayNotification; + class Displayed; + class ProcessingNotification; + class Processed; + class Stored; + class Forbidden; + class Error; + class Status; + class Status1; + class Status2; + } + } +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> @@ -298,1013 +306,1230 @@ class Status2; #include "linphone-imdn.h" -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -class Imdn : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // message-id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Token MessageIdType; - typedef ::xsd::cxx::tree::traits<MessageIdType, char> MessageIdTraits; - - const MessageIdType &getMessageId() const; - - MessageIdType &getMessageId(); - - void setMessageId(const MessageIdType &x); - - void setMessageId(::std::unique_ptr<MessageIdType> p); - - ::std::unique_ptr<MessageIdType> setDetachMessage_id(); - - // datetime - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String DatetimeType; - typedef ::xsd::cxx::tree::traits<DatetimeType, char> DatetimeTraits; - - const DatetimeType &getDatetime() const; - - DatetimeType &getDatetime(); - - void setDatetime(const DatetimeType &x); - - void setDatetime(::std::unique_ptr<DatetimeType> p); - - ::std::unique_ptr<DatetimeType> setDetachDatetime(); - - // recipient-uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri RecipientUriType; - typedef ::xsd::cxx::tree::optional<RecipientUriType> RecipientUriOptional; - typedef ::xsd::cxx::tree::traits<RecipientUriType, char> RecipientUriTraits; - - const RecipientUriOptional &getRecipientUri() const; - - RecipientUriOptional &getRecipientUri(); - - void setRecipientUri(const RecipientUriType &x); - - void setRecipientUri(const RecipientUriOptional &x); - - void setRecipientUri(::std::unique_ptr<RecipientUriType> p); - - // original-recipient-uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri OriginalRecipientUriType; - typedef ::xsd::cxx::tree::optional<OriginalRecipientUriType> OriginalRecipientUriOptional; - typedef ::xsd::cxx::tree::traits<OriginalRecipientUriType, char> OriginalRecipientUriTraits; - - const OriginalRecipientUriOptional &getOriginalRecipientUri() const; - - OriginalRecipientUriOptional &getOriginalRecipientUri(); - - void setOriginalRecipientUri(const OriginalRecipientUriType &x); - - void setOriginalRecipientUri(const OriginalRecipientUriOptional &x); - - void setOriginalRecipientUri(::std::unique_ptr<OriginalRecipientUriType> p); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + class Imdn: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // message-id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Token MessageIdType; + typedef ::xsd::cxx::tree::traits< MessageIdType, char > MessageIdTraits; - // subject - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String SubjectType; - typedef ::xsd::cxx::tree::optional<SubjectType> SubjectOptional; - typedef ::xsd::cxx::tree::traits<SubjectType, char> SubjectTraits; + const MessageIdType& + getMessageId () const; - const SubjectOptional &getSubject() const; + MessageIdType& + getMessageId (); - SubjectOptional &getSubject(); + void + setMessageId (const MessageIdType& x); - void setSubject(const SubjectType &x); + void + setMessageId (::std::unique_ptr< MessageIdType > p); - void setSubject(const SubjectOptional &x); + ::std::unique_ptr< MessageIdType > + setDetachMessage_id (); - void setSubject(::std::unique_ptr<SubjectType> p); + // datetime + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String DatetimeType; + typedef ::xsd::cxx::tree::traits< DatetimeType, char > DatetimeTraits; - // delivery-notification - // - typedef ::LinphonePrivate::Xsd::Imdn::DeliveryNotification DeliveryNotificationType; - typedef ::xsd::cxx::tree::optional<DeliveryNotificationType> DeliveryNotificationOptional; - typedef ::xsd::cxx::tree::traits<DeliveryNotificationType, char> DeliveryNotificationTraits; + const DatetimeType& + getDatetime () const; - const DeliveryNotificationOptional &getDeliveryNotification() const; + DatetimeType& + getDatetime (); - DeliveryNotificationOptional &getDeliveryNotification(); + void + setDatetime (const DatetimeType& x); - void setDeliveryNotification(const DeliveryNotificationType &x); + void + setDatetime (::std::unique_ptr< DatetimeType > p); - void setDeliveryNotification(const DeliveryNotificationOptional &x); + ::std::unique_ptr< DatetimeType > + setDetachDatetime (); - void setDeliveryNotification(::std::unique_ptr<DeliveryNotificationType> p); + // recipient-uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri RecipientUriType; + typedef ::xsd::cxx::tree::optional< RecipientUriType > RecipientUriOptional; + typedef ::xsd::cxx::tree::traits< RecipientUriType, char > RecipientUriTraits; - // display-notification - // - typedef ::LinphonePrivate::Xsd::Imdn::DisplayNotification DisplayNotificationType; - typedef ::xsd::cxx::tree::optional<DisplayNotificationType> DisplayNotificationOptional; - typedef ::xsd::cxx::tree::traits<DisplayNotificationType, char> DisplayNotificationTraits; + const RecipientUriOptional& + getRecipientUri () const; - const DisplayNotificationOptional &getDisplayNotification() const; + RecipientUriOptional& + getRecipientUri (); - DisplayNotificationOptional &getDisplayNotification(); + void + setRecipientUri (const RecipientUriType& x); - void setDisplayNotification(const DisplayNotificationType &x); + void + setRecipientUri (const RecipientUriOptional& x); - void setDisplayNotification(const DisplayNotificationOptional &x); + void + setRecipientUri (::std::unique_ptr< RecipientUriType > p); - void setDisplayNotification(::std::unique_ptr<DisplayNotificationType> p); + // original-recipient-uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri OriginalRecipientUriType; + typedef ::xsd::cxx::tree::optional< OriginalRecipientUriType > OriginalRecipientUriOptional; + typedef ::xsd::cxx::tree::traits< OriginalRecipientUriType, char > OriginalRecipientUriTraits; - // processing-notification - // - typedef ::LinphonePrivate::Xsd::Imdn::ProcessingNotification ProcessingNotificationType; - typedef ::xsd::cxx::tree::optional<ProcessingNotificationType> ProcessingNotificationOptional; - typedef ::xsd::cxx::tree::traits<ProcessingNotificationType, char> ProcessingNotificationTraits; + const OriginalRecipientUriOptional& + getOriginalRecipientUri () const; - const ProcessingNotificationOptional &getProcessingNotification() const; + OriginalRecipientUriOptional& + getOriginalRecipientUri (); - ProcessingNotificationOptional &getProcessingNotification(); + void + setOriginalRecipientUri (const OriginalRecipientUriType& x); - void setProcessingNotification(const ProcessingNotificationType &x); + void + setOriginalRecipientUri (const OriginalRecipientUriOptional& x); - void setProcessingNotification(const ProcessingNotificationOptional &x); + void + setOriginalRecipientUri (::std::unique_ptr< OriginalRecipientUriType > p); - void setProcessingNotification(::std::unique_ptr<ProcessingNotificationType> p); + // subject + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String SubjectType; + typedef ::xsd::cxx::tree::optional< SubjectType > SubjectOptional; + typedef ::xsd::cxx::tree::traits< SubjectType, char > SubjectTraits; - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + const SubjectOptional& + getSubject () const; - const AnySequence &getAny() const; + SubjectOptional& + getSubject (); - AnySequence &getAny(); + void + setSubject (const SubjectType& x); - void setAny(const AnySequence &s); + void + setSubject (const SubjectOptional& x); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + void + setSubject (::std::unique_ptr< SubjectType > p); - ::xercesc::DOMDocument &getDomDocument(); + // delivery-notification + // + typedef ::LinphonePrivate::Xsd::Imdn::DeliveryNotification DeliveryNotificationType; + typedef ::xsd::cxx::tree::optional< DeliveryNotificationType > DeliveryNotificationOptional; + typedef ::xsd::cxx::tree::traits< DeliveryNotificationType, char > DeliveryNotificationTraits; - // Constructors. - // - Imdn(const MessageIdType &, const DatetimeType &); + const DeliveryNotificationOptional& + getDeliveryNotification () const; - Imdn(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DeliveryNotificationOptional& + getDeliveryNotification (); - Imdn(const Imdn &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDeliveryNotification (const DeliveryNotificationType& x); - virtual Imdn *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setDeliveryNotification (const DeliveryNotificationOptional& x); - Imdn &operator=(const Imdn &x); + void + setDeliveryNotification (::std::unique_ptr< DeliveryNotificationType > p); - virtual ~Imdn(); + // display-notification + // + typedef ::LinphonePrivate::Xsd::Imdn::DisplayNotification DisplayNotificationType; + typedef ::xsd::cxx::tree::optional< DisplayNotificationType > DisplayNotificationOptional; + typedef ::xsd::cxx::tree::traits< DisplayNotificationType, char > DisplayNotificationTraits; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + const DisplayNotificationOptional& + getDisplayNotification () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + DisplayNotificationOptional& + getDisplayNotification (); - ::xsd::cxx::tree::one<MessageIdType> message_id_; - ::xsd::cxx::tree::one<DatetimeType> datetime_; - RecipientUriOptional recipient_uri_; - OriginalRecipientUriOptional original_recipient_uri_; - SubjectOptional subject_; - DeliveryNotificationOptional delivery_notification_; - DisplayNotificationOptional display_notification_; - ProcessingNotificationOptional processing_notification_; - AnySequence any_; -}; + void + setDisplayNotification (const DisplayNotificationType& x); -class DeliveryNotification : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // status - // - typedef ::LinphonePrivate::Xsd::Imdn::Status StatusType; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; + void + setDisplayNotification (const DisplayNotificationOptional& x); - const StatusType &getStatus() const; + void + setDisplayNotification (::std::unique_ptr< DisplayNotificationType > p); - StatusType &getStatus(); + // processing-notification + // + typedef ::LinphonePrivate::Xsd::Imdn::ProcessingNotification ProcessingNotificationType; + typedef ::xsd::cxx::tree::optional< ProcessingNotificationType > ProcessingNotificationOptional; + typedef ::xsd::cxx::tree::traits< ProcessingNotificationType, char > ProcessingNotificationTraits; - void setStatus(const StatusType &x); + const ProcessingNotificationOptional& + getProcessingNotification () const; - void setStatus(::std::unique_ptr<StatusType> p); + ProcessingNotificationOptional& + getProcessingNotification (); - ::std::unique_ptr<StatusType> setDetachStatus(); + void + setProcessingNotification (const ProcessingNotificationType& x); - // Constructors. - // - DeliveryNotification(const StatusType &); + void + setProcessingNotification (const ProcessingNotificationOptional& x); - DeliveryNotification(::std::unique_ptr<StatusType>); + void + setProcessingNotification (::std::unique_ptr< ProcessingNotificationType > p); - DeliveryNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - DeliveryNotification(const DeliveryNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const AnySequence& + getAny () const; - virtual DeliveryNotification *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + AnySequence& + getAny (); - DeliveryNotification &operator=(const DeliveryNotification &x); + void + setAny (const AnySequence& s); - virtual ~DeliveryNotification(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + ::xercesc::DOMDocument& + getDomDocument (); -protected: - ::xsd::cxx::tree::one<StatusType> status_; -}; + // Constructors. + // + Imdn (const MessageIdType&, + const DatetimeType&); -class Delivered : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Delivered(); + Imdn (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Delivered(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Imdn (const Imdn& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Delivered(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual Imdn* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Delivered(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Imdn& + operator= (const Imdn& x); - Delivered(const Delivered &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + ~Imdn (); - virtual Delivered *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - virtual ~Delivered(); -}; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; + + ::xsd::cxx::tree::one< MessageIdType > message_id_; + ::xsd::cxx::tree::one< DatetimeType > datetime_; + RecipientUriOptional recipient_uri_; + OriginalRecipientUriOptional original_recipient_uri_; + SubjectOptional subject_; + DeliveryNotificationOptional delivery_notification_; + DisplayNotificationOptional display_notification_; + ProcessingNotificationOptional processing_notification_; + AnySequence any_; + }; + + class DeliveryNotification: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // status + // + typedef ::LinphonePrivate::Xsd::Imdn::Status StatusType; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; + + const StatusType& + getStatus () const; + + StatusType& + getStatus (); + + void + setStatus (const StatusType& x); + + void + setStatus (::std::unique_ptr< StatusType > p); + + ::std::unique_ptr< StatusType > + setDetachStatus (); + + // Constructors. + // + DeliveryNotification (const StatusType&); + + DeliveryNotification (::std::unique_ptr< StatusType >); + + DeliveryNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + DeliveryNotification (const DeliveryNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual DeliveryNotification* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + DeliveryNotification& + operator= (const DeliveryNotification& x); + + virtual + ~DeliveryNotification (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::xsd::cxx::tree::one< StatusType > status_; + }; + + class Delivered: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Delivered (); + + Delivered (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Delivered (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Delivered (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Delivered (const Delivered& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Delivered* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Delivered (); + }; + + class Failed: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Failed (); + + Failed (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Failed (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Failed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Failed (const Failed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Failed* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Failed (); + }; + + class DisplayNotification: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // status + // + typedef ::LinphonePrivate::Xsd::Imdn::Status1 StatusType; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; + + const StatusType& + getStatus () const; + + StatusType& + getStatus (); + + void + setStatus (const StatusType& x); + + void + setStatus (::std::unique_ptr< StatusType > p); + + ::std::unique_ptr< StatusType > + setDetachStatus (); + + // Constructors. + // + DisplayNotification (const StatusType&); + + DisplayNotification (::std::unique_ptr< StatusType >); + + DisplayNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + DisplayNotification (const DisplayNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual DisplayNotification* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + DisplayNotification& + operator= (const DisplayNotification& x); + + virtual + ~DisplayNotification (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::xsd::cxx::tree::one< StatusType > status_; + }; + + class Displayed: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Displayed (); + + Displayed (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Displayed (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Displayed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Displayed (const Displayed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Displayed* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Displayed (); + }; + + class ProcessingNotification: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // status + // + typedef ::LinphonePrivate::Xsd::Imdn::Status2 StatusType; + typedef ::xsd::cxx::tree::traits< StatusType, char > StatusTraits; + + const StatusType& + getStatus () const; + + StatusType& + getStatus (); + + void + setStatus (const StatusType& x); + + void + setStatus (::std::unique_ptr< StatusType > p); + + ::std::unique_ptr< StatusType > + setDetachStatus (); + + // Constructors. + // + ProcessingNotification (const StatusType&); + + ProcessingNotification (::std::unique_ptr< StatusType >); + + ProcessingNotification (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + ProcessingNotification (const ProcessingNotification& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual ProcessingNotification* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + ProcessingNotification& + operator= (const ProcessingNotification& x); + + virtual + ~ProcessingNotification (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ::xsd::cxx::tree::one< StatusType > status_; + }; + + class Processed: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Processed (); + + Processed (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Processed (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Processed (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Processed (const Processed& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Processed* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Processed (); + }; + + class Stored: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Stored (); + + Stored (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Stored (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Stored (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Stored (const Stored& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Stored* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Stored (); + }; + + class Forbidden: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Forbidden (); + + Forbidden (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Forbidden (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Forbidden (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Forbidden (const Forbidden& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Forbidden* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~Forbidden (); + }; + + class Error: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // Constructors. + // + Error (); + + Error (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Error (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Error (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + Error (const Error& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual Error* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; -class Failed : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Failed(); + virtual + ~Error (); + }; - Failed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + class Status: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // delivered + // + typedef ::LinphonePrivate::Xsd::Imdn::Delivered DeliveredType; + typedef ::xsd::cxx::tree::optional< DeliveredType > DeliveredOptional; + typedef ::xsd::cxx::tree::traits< DeliveredType, char > DeliveredTraits; - Failed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const DeliveredOptional& + getDelivered () const; - Failed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DeliveredOptional& + getDelivered (); - Failed(const Failed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setDelivered (const DeliveredType& x); - virtual Failed *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setDelivered (const DeliveredOptional& x); - virtual ~Failed(); -}; + void + setDelivered (::std::unique_ptr< DeliveredType > p); -class DisplayNotification : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // status - // - typedef ::LinphonePrivate::Xsd::Imdn::Status1 StatusType; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; + // failed + // + typedef ::LinphonePrivate::Xsd::Imdn::Failed FailedType; + typedef ::xsd::cxx::tree::optional< FailedType > FailedOptional; + typedef ::xsd::cxx::tree::traits< FailedType, char > FailedTraits; - const StatusType &getStatus() const; + const FailedOptional& + getFailed () const; - StatusType &getStatus(); + FailedOptional& + getFailed (); - void setStatus(const StatusType &x); + void + setFailed (const FailedType& x); - void setStatus(::std::unique_ptr<StatusType> p); + void + setFailed (const FailedOptional& x); - ::std::unique_ptr<StatusType> setDetachStatus(); + void + setFailed (::std::unique_ptr< FailedType > p); - // Constructors. - // - DisplayNotification(const StatusType &); + // forbidden + // + typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; + typedef ::xsd::cxx::tree::optional< ForbiddenType > ForbiddenOptional; + typedef ::xsd::cxx::tree::traits< ForbiddenType, char > ForbiddenTraits; - DisplayNotification(::std::unique_ptr<StatusType>); + const ForbiddenOptional& + getForbidden () const; - DisplayNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ForbiddenOptional& + getForbidden (); - DisplayNotification(const DisplayNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setForbidden (const ForbiddenType& x); - virtual DisplayNotification *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setForbidden (const ForbiddenOptional& x); - DisplayNotification &operator=(const DisplayNotification &x); + void + setForbidden (::std::unique_ptr< ForbiddenType > p); - virtual ~DisplayNotification(); + // error + // + typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; + typedef ::xsd::cxx::tree::optional< ErrorType > ErrorOptional; + typedef ::xsd::cxx::tree::traits< ErrorType, char > ErrorTraits; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + const ErrorOptional& + getError () const; -protected: - ::xsd::cxx::tree::one<StatusType> status_; -}; + ErrorOptional& + getError (); -class Displayed : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Displayed(); + void + setError (const ErrorType& x); - Displayed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setError (const ErrorOptional& x); - Displayed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setError (::std::unique_ptr< ErrorType > p); - Displayed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // reason + // + typedef ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason ReasonType; + typedef ::xsd::cxx::tree::optional< ReasonType > ReasonOptional; + typedef ::xsd::cxx::tree::traits< ReasonType, char > ReasonTraits; - Displayed(const Displayed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const ReasonOptional& + getReason () const; - virtual Displayed *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + ReasonOptional& + getReason (); - virtual ~Displayed(); -}; + void + setReason (const ReasonType& x); -class ProcessingNotification : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // status - // - typedef ::LinphonePrivate::Xsd::Imdn::Status2 StatusType; - typedef ::xsd::cxx::tree::traits<StatusType, char> StatusTraits; + void + setReason (const ReasonOptional& x); - const StatusType &getStatus() const; + void + setReason (::std::unique_ptr< ReasonType > p); - StatusType &getStatus(); + // Constructors. + // + Status (); - void setStatus(const StatusType &x); + Status (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setStatus(::std::unique_ptr<StatusType> p); + Status (const Status& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::std::unique_ptr<StatusType> setDetachStatus(); + virtual Status* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - // Constructors. - // - ProcessingNotification(const StatusType &); + Status& + operator= (const Status& x); - ProcessingNotification(::std::unique_ptr<StatusType>); + virtual + ~Status (); - ProcessingNotification(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - ProcessingNotification(const ProcessingNotification &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + protected: + DeliveredOptional delivered_; + FailedOptional failed_; + ForbiddenOptional forbidden_; + ErrorOptional error_; + ReasonOptional reason_; + }; - virtual ProcessingNotification *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + class Status1: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // displayed + // + typedef ::LinphonePrivate::Xsd::Imdn::Displayed DisplayedType; + typedef ::xsd::cxx::tree::optional< DisplayedType > DisplayedOptional; + typedef ::xsd::cxx::tree::traits< DisplayedType, char > DisplayedTraits; - ProcessingNotification &operator=(const ProcessingNotification &x); + const DisplayedOptional& + getDisplayed () const; - virtual ~ProcessingNotification(); + DisplayedOptional& + getDisplayed (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + void + setDisplayed (const DisplayedType& x); -protected: - ::xsd::cxx::tree::one<StatusType> status_; -}; + void + setDisplayed (const DisplayedOptional& x); -class Processed : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Processed(); + void + setDisplayed (::std::unique_ptr< DisplayedType > p); - Processed(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // forbidden + // + typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; + typedef ::xsd::cxx::tree::optional< ForbiddenType > ForbiddenOptional; + typedef ::xsd::cxx::tree::traits< ForbiddenType, char > ForbiddenTraits; - Processed(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const ForbiddenOptional& + getForbidden () const; - Processed(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ForbiddenOptional& + getForbidden (); - Processed(const Processed &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setForbidden (const ForbiddenType& x); - virtual Processed *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setForbidden (const ForbiddenOptional& x); - virtual ~Processed(); -}; + void + setForbidden (::std::unique_ptr< ForbiddenType > p); -class Stored : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Stored(); + // error + // + typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; + typedef ::xsd::cxx::tree::optional< ErrorType > ErrorOptional; + typedef ::xsd::cxx::tree::traits< ErrorType, char > ErrorTraits; - Stored(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const ErrorOptional& + getError () const; - Stored(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ErrorOptional& + getError (); - Stored(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setError (const ErrorType& x); - Stored(const Stored &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setError (const ErrorOptional& x); - virtual Stored *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setError (::std::unique_ptr< ErrorType > p); - virtual ~Stored(); -}; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; -class Forbidden : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Forbidden(); + const AnySequence& + getAny () const; - Forbidden(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + AnySequence& + getAny (); - Forbidden(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setAny (const AnySequence& s); - Forbidden(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - Forbidden(const Forbidden &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ::xercesc::DOMDocument& + getDomDocument (); - virtual Forbidden *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + // Constructors. + // + Status1 (); - virtual ~Forbidden(); -}; + Status1 (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -class Error : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // Constructors. - // - Error(); + Status1 (const Status1& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Error(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual Status1* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Error(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Status1& + operator= (const Status1& x); - Error(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + ~Status1 (); - Error(const Error &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - virtual Error *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - virtual ~Error(); -}; + DisplayedOptional displayed_; + ForbiddenOptional forbidden_; + ErrorOptional error_; + AnySequence any_; + }; -class Status : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // delivered - // - typedef ::LinphonePrivate::Xsd::Imdn::Delivered DeliveredType; - typedef ::xsd::cxx::tree::optional<DeliveredType> DeliveredOptional; - typedef ::xsd::cxx::tree::traits<DeliveredType, char> DeliveredTraits; + class Status2: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // processed + // + typedef ::LinphonePrivate::Xsd::Imdn::Processed ProcessedType; + typedef ::xsd::cxx::tree::optional< ProcessedType > ProcessedOptional; + typedef ::xsd::cxx::tree::traits< ProcessedType, char > ProcessedTraits; - const DeliveredOptional &getDelivered() const; + const ProcessedOptional& + getProcessed () const; - DeliveredOptional &getDelivered(); + ProcessedOptional& + getProcessed (); - void setDelivered(const DeliveredType &x); + void + setProcessed (const ProcessedType& x); - void setDelivered(const DeliveredOptional &x); + void + setProcessed (const ProcessedOptional& x); - void setDelivered(::std::unique_ptr<DeliveredType> p); + void + setProcessed (::std::unique_ptr< ProcessedType > p); - // failed - // - typedef ::LinphonePrivate::Xsd::Imdn::Failed FailedType; - typedef ::xsd::cxx::tree::optional<FailedType> FailedOptional; - typedef ::xsd::cxx::tree::traits<FailedType, char> FailedTraits; + // stored + // + typedef ::LinphonePrivate::Xsd::Imdn::Stored StoredType; + typedef ::xsd::cxx::tree::optional< StoredType > StoredOptional; + typedef ::xsd::cxx::tree::traits< StoredType, char > StoredTraits; - const FailedOptional &getFailed() const; + const StoredOptional& + getStored () const; - FailedOptional &getFailed(); + StoredOptional& + getStored (); - void setFailed(const FailedType &x); + void + setStored (const StoredType& x); - void setFailed(const FailedOptional &x); + void + setStored (const StoredOptional& x); - void setFailed(::std::unique_ptr<FailedType> p); + void + setStored (::std::unique_ptr< StoredType > p); - // forbidden - // - typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; - typedef ::xsd::cxx::tree::optional<ForbiddenType> ForbiddenOptional; - typedef ::xsd::cxx::tree::traits<ForbiddenType, char> ForbiddenTraits; + // forbidden + // + typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; + typedef ::xsd::cxx::tree::optional< ForbiddenType > ForbiddenOptional; + typedef ::xsd::cxx::tree::traits< ForbiddenType, char > ForbiddenTraits; - const ForbiddenOptional &getForbidden() const; + const ForbiddenOptional& + getForbidden () const; - ForbiddenOptional &getForbidden(); + ForbiddenOptional& + getForbidden (); - void setForbidden(const ForbiddenType &x); + void + setForbidden (const ForbiddenType& x); - void setForbidden(const ForbiddenOptional &x); + void + setForbidden (const ForbiddenOptional& x); - void setForbidden(::std::unique_ptr<ForbiddenType> p); + void + setForbidden (::std::unique_ptr< ForbiddenType > p); - // error - // - typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; - typedef ::xsd::cxx::tree::optional<ErrorType> ErrorOptional; - typedef ::xsd::cxx::tree::traits<ErrorType, char> ErrorTraits; + // error + // + typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; + typedef ::xsd::cxx::tree::optional< ErrorType > ErrorOptional; + typedef ::xsd::cxx::tree::traits< ErrorType, char > ErrorTraits; - const ErrorOptional &getError() const; + const ErrorOptional& + getError () const; - ErrorOptional &getError(); + ErrorOptional& + getError (); - void setError(const ErrorType &x); + void + setError (const ErrorType& x); - void setError(const ErrorOptional &x); + void + setError (const ErrorOptional& x); - void setError(::std::unique_ptr<ErrorType> p); + void + setError (::std::unique_ptr< ErrorType > p); - // reason - // - typedef ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason ReasonType; - typedef ::xsd::cxx::tree::optional<ReasonType> ReasonOptional; - typedef ::xsd::cxx::tree::traits<ReasonType, char> ReasonTraits; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - const ReasonOptional &getReason() const; + const AnySequence& + getAny () const; - ReasonOptional &getReason(); + AnySequence& + getAny (); - void setReason(const ReasonType &x); + void + setAny (const AnySequence& s); - void setReason(const ReasonOptional &x); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setReason(::std::unique_ptr<ReasonType> p); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - Status(); + // Constructors. + // + Status2 (); - Status(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Status2 (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Status(const Status &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Status2 (const Status2& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual Status *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual Status2* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Status &operator=(const Status &x); + Status2& + operator= (const Status2& x); - virtual ~Status(); + virtual + ~Status2 (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - DeliveredOptional delivered_; - FailedOptional failed_; - ForbiddenOptional forbidden_; - ErrorOptional error_; - ReasonOptional reason_; -}; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; -class Status1 : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // displayed - // - typedef ::LinphonePrivate::Xsd::Imdn::Displayed DisplayedType; - typedef ::xsd::cxx::tree::optional<DisplayedType> DisplayedOptional; - typedef ::xsd::cxx::tree::traits<DisplayedType, char> DisplayedTraits; - - const DisplayedOptional &getDisplayed() const; - - DisplayedOptional &getDisplayed(); - - void setDisplayed(const DisplayedType &x); - - void setDisplayed(const DisplayedOptional &x); - - void setDisplayed(::std::unique_ptr<DisplayedType> p); - - // forbidden - // - typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; - typedef ::xsd::cxx::tree::optional<ForbiddenType> ForbiddenOptional; - typedef ::xsd::cxx::tree::traits<ForbiddenType, char> ForbiddenTraits; - - const ForbiddenOptional &getForbidden() const; - - ForbiddenOptional &getForbidden(); - - void setForbidden(const ForbiddenType &x); - - void setForbidden(const ForbiddenOptional &x); - - void setForbidden(::std::unique_ptr<ForbiddenType> p); - - // error - // - typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; - typedef ::xsd::cxx::tree::optional<ErrorType> ErrorOptional; - typedef ::xsd::cxx::tree::traits<ErrorType, char> ErrorTraits; - - const ErrorOptional &getError() const; - - ErrorOptional &getError(); - - void setError(const ErrorType &x); - - void setError(const ErrorOptional &x); - - void setError(::std::unique_ptr<ErrorType> p); - - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; - - const AnySequence &getAny() const; - - AnySequence &getAny(); - - void setAny(const AnySequence &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - Status1(); - - Status1(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - Status1(const Status1 &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual Status1 *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - Status1 &operator=(const Status1 &x); - - virtual ~Status1(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; - - DisplayedOptional displayed_; - ForbiddenOptional forbidden_; - ErrorOptional error_; - AnySequence any_; -}; - -class Status2 : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // processed - // - typedef ::LinphonePrivate::Xsd::Imdn::Processed ProcessedType; - typedef ::xsd::cxx::tree::optional<ProcessedType> ProcessedOptional; - typedef ::xsd::cxx::tree::traits<ProcessedType, char> ProcessedTraits; - - const ProcessedOptional &getProcessed() const; - - ProcessedOptional &getProcessed(); - - void setProcessed(const ProcessedType &x); - - void setProcessed(const ProcessedOptional &x); - - void setProcessed(::std::unique_ptr<ProcessedType> p); - - // stored - // - typedef ::LinphonePrivate::Xsd::Imdn::Stored StoredType; - typedef ::xsd::cxx::tree::optional<StoredType> StoredOptional; - typedef ::xsd::cxx::tree::traits<StoredType, char> StoredTraits; - - const StoredOptional &getStored() const; - - StoredOptional &getStored(); - - void setStored(const StoredType &x); - - void setStored(const StoredOptional &x); - - void setStored(::std::unique_ptr<StoredType> p); - - // forbidden - // - typedef ::LinphonePrivate::Xsd::Imdn::Forbidden ForbiddenType; - typedef ::xsd::cxx::tree::optional<ForbiddenType> ForbiddenOptional; - typedef ::xsd::cxx::tree::traits<ForbiddenType, char> ForbiddenTraits; - - const ForbiddenOptional &getForbidden() const; - - ForbiddenOptional &getForbidden(); - - void setForbidden(const ForbiddenType &x); - - void setForbidden(const ForbiddenOptional &x); - - void setForbidden(::std::unique_ptr<ForbiddenType> p); - - // error - // - typedef ::LinphonePrivate::Xsd::Imdn::Error ErrorType; - typedef ::xsd::cxx::tree::optional<ErrorType> ErrorOptional; - typedef ::xsd::cxx::tree::traits<ErrorType, char> ErrorTraits; - - const ErrorOptional &getError() const; - - ErrorOptional &getError(); - - void setError(const ErrorType &x); - - void setError(const ErrorOptional &x); - - void setError(::std::unique_ptr<ErrorType> p); - - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; - - const AnySequence &getAny() const; - - AnySequence &getAny(); - - void setAny(const AnySequence &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - Status2(); - - Status2(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - Status2(const Status2 &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual Status2 *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - Status2 &operator=(const Status2 &x); - - virtual ~Status2(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; - - ProcessedOptional processed_; - StoredOptional stored_; - ForbiddenOptional forbidden_; - ErrorOptional error_; - AnySequence any_; -}; -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate + ProcessedOptional processed_; + StoredOptional stored_; + ForbiddenOptional forbidden_; + ErrorOptional error_; + AnySequence any_; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -::std::ostream &operator<<(::std::ostream &, const Imdn &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + ::std::ostream& + operator<< (::std::ostream&, const Imdn&); -::std::ostream &operator<<(::std::ostream &, const DeliveryNotification &); + ::std::ostream& + operator<< (::std::ostream&, const DeliveryNotification&); -::std::ostream &operator<<(::std::ostream &, const Delivered &); + ::std::ostream& + operator<< (::std::ostream&, const Delivered&); -::std::ostream &operator<<(::std::ostream &, const Failed &); + ::std::ostream& + operator<< (::std::ostream&, const Failed&); -::std::ostream &operator<<(::std::ostream &, const DisplayNotification &); + ::std::ostream& + operator<< (::std::ostream&, const DisplayNotification&); -::std::ostream &operator<<(::std::ostream &, const Displayed &); + ::std::ostream& + operator<< (::std::ostream&, const Displayed&); -::std::ostream &operator<<(::std::ostream &, const ProcessingNotification &); + ::std::ostream& + operator<< (::std::ostream&, const ProcessingNotification&); -::std::ostream &operator<<(::std::ostream &, const Processed &); + ::std::ostream& + operator<< (::std::ostream&, const Processed&); -::std::ostream &operator<<(::std::ostream &, const Stored &); + ::std::ostream& + operator<< (::std::ostream&, const Stored&); -::std::ostream &operator<<(::std::ostream &, const Forbidden &); + ::std::ostream& + operator<< (::std::ostream&, const Forbidden&); -::std::ostream &operator<<(::std::ostream &, const Error &); + ::std::ostream& + operator<< (::std::ostream&, const Error&); -::std::ostream &operator<<(::std::ostream &, const Status &); + ::std::ostream& + operator<< (::std::ostream&, const Status&); -::std::ostream &operator<<(::std::ostream &, const Status1 &); + ::std::ostream& + operator<< (::std::ostream&, const Status1&); -::std::ostream &operator<<(::std::ostream &, const Status2 &); -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate + ::std::ostream& + operator<< (::std::ostream&, const Status2&); + } + } +} #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -// Parse a URI or a local file. -// -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Imdn::Imdn> -parseImdn(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Imdn::Imdn > + parseImdn (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -1314,148 +1539,186 @@ parseImdn(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocum #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace Imdn { -// Serialize to std::ostream. -// - -void serializeImdn(::std::ostream &os, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeImdn(::std::ostream &os, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeImdn(::std::ostream &os, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// - -void serializeImdn(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeImdn(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeImdn(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// - -void serializeImdn(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to a new xercesc::DOMDocument. -// - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeImdn(const ::LinphonePrivate::Xsd::Imdn::Imdn &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void operator<<(::xercesc::DOMElement &, const Imdn &); - -void operator<<(::xercesc::DOMElement &, const DeliveryNotification &); - -void operator<<(::xercesc::DOMElement &, const Delivered &); - -void operator<<(::xercesc::DOMAttr &, const Delivered &); - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Delivered &); - -void operator<<(::xercesc::DOMElement &, const Failed &); - -void operator<<(::xercesc::DOMAttr &, const Failed &); - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Failed &); - -void operator<<(::xercesc::DOMElement &, const DisplayNotification &); - -void operator<<(::xercesc::DOMElement &, const Displayed &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Imdn + { + // Serialize to std::ostream. + // + + void + serializeImdn (::std::ostream& os, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeImdn (::std::ostream& os, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeImdn (::std::ostream& os, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeImdn (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeImdn (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeImdn (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeImdn (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeImdn (const ::LinphonePrivate::Xsd::Imdn::Imdn& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const Imdn&); + + void + operator<< (::xercesc::DOMElement&, const DeliveryNotification&); + + void + operator<< (::xercesc::DOMElement&, const Delivered&); + + void + operator<< (::xercesc::DOMAttr&, const Delivered&); + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Delivered&); + + void + operator<< (::xercesc::DOMElement&, const Failed&); + + void + operator<< (::xercesc::DOMAttr&, const Failed&); + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Failed&); + + void + operator<< (::xercesc::DOMElement&, const DisplayNotification&); + + void + operator<< (::xercesc::DOMElement&, const Displayed&); -void operator<<(::xercesc::DOMAttr &, const Displayed &); + void + operator<< (::xercesc::DOMAttr&, const Displayed&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Displayed &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Displayed&); -void operator<<(::xercesc::DOMElement &, const ProcessingNotification &); + void + operator<< (::xercesc::DOMElement&, const ProcessingNotification&); -void operator<<(::xercesc::DOMElement &, const Processed &); + void + operator<< (::xercesc::DOMElement&, const Processed&); -void operator<<(::xercesc::DOMAttr &, const Processed &); + void + operator<< (::xercesc::DOMAttr&, const Processed&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Processed &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Processed&); -void operator<<(::xercesc::DOMElement &, const Stored &); + void + operator<< (::xercesc::DOMElement&, const Stored&); -void operator<<(::xercesc::DOMAttr &, const Stored &); + void + operator<< (::xercesc::DOMAttr&, const Stored&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Stored &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Stored&); -void operator<<(::xercesc::DOMElement &, const Forbidden &); + void + operator<< (::xercesc::DOMElement&, const Forbidden&); -void operator<<(::xercesc::DOMAttr &, const Forbidden &); + void + operator<< (::xercesc::DOMAttr&, const Forbidden&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Forbidden &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Forbidden&); -void operator<<(::xercesc::DOMElement &, const Error &); + void + operator<< (::xercesc::DOMElement&, const Error&); -void operator<<(::xercesc::DOMAttr &, const Error &); + void + operator<< (::xercesc::DOMAttr&, const Error&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Error &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Error&); -void operator<<(::xercesc::DOMElement &, const Status &); + void + operator<< (::xercesc::DOMElement&, const Status&); -void operator<<(::xercesc::DOMElement &, const Status1 &); + void + operator<< (::xercesc::DOMElement&, const Status1&); -void operator<<(::xercesc::DOMElement &, const Status2 &); -} // namespace Imdn -} // namespace Xsd -} // namespace LinphonePrivate + void + operator<< (::xercesc::DOMElement&, const Status2&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/is-composing.cpp b/src/xml/is-composing.cpp index f279ebf3df..3b59cc874f 100644 --- a/src/xml/is-composing.cpp +++ b/src/xml/is-composing.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,499 +41,666 @@ #include "is-composing.h" -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -// IsComposing -// - -const IsComposing::StateType &IsComposing::getState() const { - return this->state_.get(); -} - -IsComposing::StateType &IsComposing::getState() { - return this->state_.get(); -} - -void IsComposing::setState(const StateType &x) { - this->state_.set(x); -} - -void IsComposing::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<IsComposing::StateType> IsComposing::setDetachState() { - return this->state_.detach(); -} - -const IsComposing::LastactiveOptional &IsComposing::getLastactive() const { - return this->lastactive_; -} - -IsComposing::LastactiveOptional &IsComposing::getLastactive() { - return this->lastactive_; -} - -void IsComposing::setLastactive(const LastactiveType &x) { - this->lastactive_.set(x); -} - -void IsComposing::setLastactive(const LastactiveOptional &x) { - this->lastactive_ = x; -} - -void IsComposing::setLastactive(::std::unique_ptr<LastactiveType> x) { - this->lastactive_.set(std::move(x)); -} - -const IsComposing::ContenttypeOptional &IsComposing::getContenttype() const { - return this->contenttype_; -} - -IsComposing::ContenttypeOptional &IsComposing::getContenttype() { - return this->contenttype_; -} - -void IsComposing::setContenttype(const ContenttypeType &x) { - this->contenttype_.set(x); -} - -void IsComposing::setContenttype(const ContenttypeOptional &x) { - this->contenttype_ = x; -} - -void IsComposing::setContenttype(::std::unique_ptr<ContenttypeType> x) { - this->contenttype_.set(std::move(x)); -} - -const IsComposing::RefreshOptional &IsComposing::getRefresh() const { - return this->refresh_; -} - -IsComposing::RefreshOptional &IsComposing::getRefresh() { - return this->refresh_; -} - -void IsComposing::setRefresh(const RefreshType &x) { - this->refresh_.set(x); -} - -void IsComposing::setRefresh(const RefreshOptional &x) { - this->refresh_ = x; -} - -const IsComposing::AnySequence &IsComposing::getAny() const { - return this->any_; -} - -IsComposing::AnySequence &IsComposing::getAny() { - return this->any_; -} - -void IsComposing::setAny(const AnySequence &s) { - this->any_ = s; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + // IsComposing + // + + const IsComposing::StateType& IsComposing:: + getState () const + { + return this->state_.get (); + } + + IsComposing::StateType& IsComposing:: + getState () + { + return this->state_.get (); + } + + void IsComposing:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void IsComposing:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< IsComposing::StateType > IsComposing:: + setDetachState () + { + return this->state_.detach (); + } + + const IsComposing::LastactiveOptional& IsComposing:: + getLastactive () const + { + return this->lastactive_; + } + + IsComposing::LastactiveOptional& IsComposing:: + getLastactive () + { + return this->lastactive_; + } + + void IsComposing:: + setLastactive (const LastactiveType& x) + { + this->lastactive_.set (x); + } + + void IsComposing:: + setLastactive (const LastactiveOptional& x) + { + this->lastactive_ = x; + } + + void IsComposing:: + setLastactive (::std::unique_ptr< LastactiveType > x) + { + this->lastactive_.set (std::move (x)); + } + + const IsComposing::ContenttypeOptional& IsComposing:: + getContenttype () const + { + return this->contenttype_; + } + + IsComposing::ContenttypeOptional& IsComposing:: + getContenttype () + { + return this->contenttype_; + } + + void IsComposing:: + setContenttype (const ContenttypeType& x) + { + this->contenttype_.set (x); + } + + void IsComposing:: + setContenttype (const ContenttypeOptional& x) + { + this->contenttype_ = x; + } + + void IsComposing:: + setContenttype (::std::unique_ptr< ContenttypeType > x) + { + this->contenttype_.set (std::move (x)); + } + + const IsComposing::RefreshOptional& IsComposing:: + getRefresh () const + { + return this->refresh_; + } + + IsComposing::RefreshOptional& IsComposing:: + getRefresh () + { + return this->refresh_; + } + + void IsComposing:: + setRefresh (const RefreshType& x) + { + this->refresh_.set (x); + } + + void IsComposing:: + setRefresh (const RefreshOptional& x) + { + this->refresh_ = x; + } + + const IsComposing::AnySequence& IsComposing:: + getAny () const + { + return this->any_; + } + + IsComposing::AnySequence& IsComposing:: + getAny () + { + return this->any_; + } + + void IsComposing:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ::xercesc::DOMDocument& IsComposing:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& IsComposing:: + getDomDocument () + { + return *this->dom_document_; + } + } + } } -const ::xercesc::DOMDocument &IsComposing::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &IsComposing::getDomDocument() { - return *this->dom_document_; -} -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/xml/dom/wildcard-source.hxx> #include <xsd/cxx/xml/dom/parsing-source.hxx> #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -// IsComposing -// - -IsComposing::IsComposing(const StateType &state) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - state_(state, this), lastactive_(this), contenttype_(this), refresh_(this), any_(this->getDomDocument()) { -} - -IsComposing::IsComposing(const IsComposing &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - state_(x.state_, f, this), lastactive_(x.lastactive_, f, this), contenttype_(x.contenttype_, f, this), - refresh_(x.refresh_, f, this), any_(x.any_, this->getDomDocument()) { -} - -IsComposing::IsComposing(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), state_(this), lastactive_(this), contenttype_(this), - refresh_(this), any_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void IsComposing::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // state - // - if (n.name() == "state" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - ::std::unique_ptr<StateType> r(StateTraits::create(i, f, this)); - - if (!state_.present()) { - this->state_.set(::std::move(r)); - continue; - } - } - - // lastactive - // - if (n.name() == "lastactive" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - ::std::unique_ptr<LastactiveType> r(LastactiveTraits::create(i, f, this)); - - if (!this->lastactive_) { - this->lastactive_.set(::std::move(r)); - continue; - } - } - - // contenttype - // - if (n.name() == "contenttype" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - ::std::unique_ptr<ContenttypeType> r(ContenttypeTraits::create(i, f, this)); - - if (!this->contenttype_) { - this->contenttype_.set(::std::move(r)); - continue; - } - } - - // refresh - // - if (n.name() == "refresh" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - if (!this->refresh_) { - this->refresh_.set(RefreshTraits::create(i, f, this)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:im-iscomposing")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - if (!state_.present()) { - throw ::xsd::cxx::tree::expected_element<char>("state", "urn:ietf:params:xml:ns:im-iscomposing"); - } -} - -IsComposing *IsComposing::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class IsComposing(*this, f, c); -} - -IsComposing &IsComposing::operator=(const IsComposing &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->state_ = x.state_; - this->lastactive_ = x.lastactive_; - this->contenttype_ = x.contenttype_; - this->refresh_ = x.refresh_; - this->any_ = x.any_; - } - - return *this; +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + // IsComposing + // + + IsComposing:: + IsComposing (const StateType& state) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + state_ (state, this), + lastactive_ (this), + contenttype_ (this), + refresh_ (this), + any_ (this->getDomDocument ()) + { + } + + IsComposing:: + IsComposing (const IsComposing& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + state_ (x.state_, f, this), + lastactive_ (x.lastactive_, f, this), + contenttype_ (x.contenttype_, f, this), + refresh_ (x.refresh_, f, this), + any_ (x.any_, this->getDomDocument ()) + { + } + + IsComposing:: + IsComposing (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + state_ (this), + lastactive_ (this), + contenttype_ (this), + refresh_ (this), + any_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void IsComposing:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // state + // + if (n.name () == "state" && n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + ::std::unique_ptr< StateType > r ( + StateTraits::create (i, f, this)); + + if (!state_.present ()) + { + this->state_.set (::std::move (r)); + continue; + } + } + + // lastactive + // + if (n.name () == "lastactive" && n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + ::std::unique_ptr< LastactiveType > r ( + LastactiveTraits::create (i, f, this)); + + if (!this->lastactive_) + { + this->lastactive_.set (::std::move (r)); + continue; + } + } + + // contenttype + // + if (n.name () == "contenttype" && n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + ::std::unique_ptr< ContenttypeType > r ( + ContenttypeTraits::create (i, f, this)); + + if (!this->contenttype_) + { + this->contenttype_.set (::std::move (r)); + continue; + } + } + + // refresh + // + if (n.name () == "refresh" && n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + if (!this->refresh_) + { + this->refresh_.set (RefreshTraits::create (i, f, this)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:im-iscomposing")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + if (!state_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "state", + "urn:ietf:params:xml:ns:im-iscomposing"); + } + } + + IsComposing* IsComposing:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class IsComposing (*this, f, c); + } + + IsComposing& IsComposing:: + operator= (const IsComposing& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->state_ = x.state_; + this->lastactive_ = x.lastactive_; + this->contenttype_ = x.contenttype_; + this->refresh_ = x.refresh_; + this->any_ = x.any_; + } + + return *this; + } + + IsComposing:: + ~IsComposing () + { + } + } + } } -IsComposing::~IsComposing() { -} -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate - #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + ::std::ostream& + operator<< (::std::ostream& o, const IsComposing& i) + { + o << ::std::endl << "state: " << i.getState (); + if (i.getLastactive ()) + { + o << ::std::endl << "lastactive: " << *i.getLastactive (); + } + + if (i.getContenttype ()) + { + o << ::std::endl << "contenttype: " << *i.getContenttype (); + } + + if (i.getRefresh ()) + { + o << ::std::endl << "refresh: " << *i.getRefresh (); + } + + return o; + } + } + } } -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -::std::ostream &operator<<(::std::ostream &o, const IsComposing &i) { - o << ::std::endl << "state: " << i.getState(); - if (i.getLastactive()) { - o << ::std::endl << "lastactive: " << *i.getLastactive(); - } - - if (i.getContenttype()) { - o << ::std::endl << "contenttype: " << *i.getContenttype(); - } - - if (i.getRefresh()) { - o << ::std::endl << "refresh: " << *i.getRefresh(); - } - - return o; -} -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate - #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing>( - ::LinphonePrivate::Xsd::IsComposing::parseIsComposing( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "isComposing" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::IsComposing::IsComposing, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "isComposing", - "urn:ietf:params:xml:ns:im-iscomposing"); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> -parseIsComposing(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); - - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); - - if (n.name() == "isComposing" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - ::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::IsComposing::IsComposing, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "isComposing", - "urn:ietf:params:xml:ns:im-iscomposing"); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::IsComposing::parseIsComposing (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > ( + ::LinphonePrivate::Xsd::IsComposing::parseIsComposing ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "isComposing" && + n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::IsComposing::IsComposing, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "isComposing", + "urn:ietf:params:xml:ns:im-iscomposing"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "isComposing" && + n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::IsComposing::IsComposing, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "isComposing", + "urn:ietf:params:xml:ns:im-iscomposing"); + } + } + } } -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -541,188 +708,251 @@ parseIsComposing(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::D #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -void serializeIsComposing(::std::ostream &o, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeIsComposing(::std::ostream &o, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + void + serializeIsComposing (::std::ostream& o, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeIsComposing (::std::ostream& o, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeIsComposing (::std::ostream& o, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeIsComposing (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeIsComposing (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeIsComposing (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeIsComposing (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "isComposing" && + n.namespace_ () == "urn:ietf:params:xml:ns:im-iscomposing") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "isComposing", + "urn:ietf:params:xml:ns:im-iscomposing"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeIsComposing (const ::LinphonePrivate::Xsd::IsComposing::IsComposing& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "isComposing", + "urn:ietf:params:xml:ns:im-iscomposing", + m, f)); + + ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const IsComposing& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // state + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "state", + "urn:ietf:params:xml:ns:im-iscomposing", + e)); + + s << i.getState (); + } + + // lastactive + // + if (i.getLastactive ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "lastactive", + "urn:ietf:params:xml:ns:im-iscomposing", + e)); + + s << *i.getLastactive (); + } + + // contenttype + // + if (i.getContenttype ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "contenttype", + "urn:ietf:params:xml:ns:im-iscomposing", + e)); + + s << *i.getContenttype (); + } + + // refresh + // + if (i.getRefresh ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "refresh", + "urn:ietf:params:xml:ns:im-iscomposing", + e)); + + s << *i.getRefresh (); + } + + // any + // + for (IsComposing::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + } + } + } } -void serializeIsComposing(::std::ostream &o, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeIsComposing(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeIsComposing(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeIsComposing(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeIsComposing(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "isComposing" && n.namespace_() == "urn:ietf:params:xml:ns:im-iscomposing") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "isComposing", - "urn:ietf:params:xml:ns:im-iscomposing"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeIsComposing(const ::LinphonePrivate::Xsd::IsComposing::IsComposing &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("isComposing", "urn:ietf:params:xml:ns:im-iscomposing", m, f)); - - ::LinphonePrivate::Xsd::IsComposing::serializeIsComposing(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const IsComposing &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // state - // - { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("state", "urn:ietf:params:xml:ns:im-iscomposing", e)); - - s << i.getState(); - } - - // lastactive - // - if (i.getLastactive()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("lastactive", "urn:ietf:params:xml:ns:im-iscomposing", e)); - - s << *i.getLastactive(); - } - - // contenttype - // - if (i.getContenttype()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("contenttype", "urn:ietf:params:xml:ns:im-iscomposing", e)); - - s << *i.getContenttype(); - } - - // refresh - // - if (i.getRefresh()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("refresh", "urn:ietf:params:xml:ns:im-iscomposing", e)); - - s << *i.getRefresh(); - } - - // any - // - for (IsComposing::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } -} -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/is-composing.h b/src/xml/is-composing.h index 56c866b10c..95a8796d3b 100644 --- a/src/xml/is-composing.h +++ b/src/xml/is-composing.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,453 +71,501 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -class IsComposing; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + class IsComposing; + } + } } -} // namespace Xsd -} // namespace LinphonePrivate -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits + #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> #include <xsd/cxx/tree/containers-wildcard.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -class IsComposing : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // state - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; - - const StateType &getState() const; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + class IsComposing: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // state + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; - StateType &getState(); + const StateType& + getState () const; - void setState(const StateType &x); + StateType& + getState (); - void setState(::std::unique_ptr<StateType> p); + void + setState (const StateType& x); - ::std::unique_ptr<StateType> setDetachState(); + void + setState (::std::unique_ptr< StateType > p); - // lastactive - // - typedef ::LinphonePrivate::Xsd::XmlSchema::DateTime LastactiveType; - typedef ::xsd::cxx::tree::optional<LastactiveType> LastactiveOptional; - typedef ::xsd::cxx::tree::traits<LastactiveType, char> LastactiveTraits; + ::std::unique_ptr< StateType > + setDetachState (); - const LastactiveOptional &getLastactive() const; + // lastactive + // + typedef ::LinphonePrivate::Xsd::XmlSchema::DateTime LastactiveType; + typedef ::xsd::cxx::tree::optional< LastactiveType > LastactiveOptional; + typedef ::xsd::cxx::tree::traits< LastactiveType, char > LastactiveTraits; - LastactiveOptional &getLastactive(); + const LastactiveOptional& + getLastactive () const; - void setLastactive(const LastactiveType &x); + LastactiveOptional& + getLastactive (); - void setLastactive(const LastactiveOptional &x); + void + setLastactive (const LastactiveType& x); - void setLastactive(::std::unique_ptr<LastactiveType> p); + void + setLastactive (const LastactiveOptional& x); - // contenttype - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String ContenttypeType; - typedef ::xsd::cxx::tree::optional<ContenttypeType> ContenttypeOptional; - typedef ::xsd::cxx::tree::traits<ContenttypeType, char> ContenttypeTraits; + void + setLastactive (::std::unique_ptr< LastactiveType > p); - const ContenttypeOptional &getContenttype() const; + // contenttype + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String ContenttypeType; + typedef ::xsd::cxx::tree::optional< ContenttypeType > ContenttypeOptional; + typedef ::xsd::cxx::tree::traits< ContenttypeType, char > ContenttypeTraits; - ContenttypeOptional &getContenttype(); + const ContenttypeOptional& + getContenttype () const; - void setContenttype(const ContenttypeType &x); + ContenttypeOptional& + getContenttype (); - void setContenttype(const ContenttypeOptional &x); + void + setContenttype (const ContenttypeType& x); - void setContenttype(::std::unique_ptr<ContenttypeType> p); + void + setContenttype (const ContenttypeOptional& x); - // refresh - // - typedef ::LinphonePrivate::Xsd::XmlSchema::PositiveInteger RefreshType; - typedef ::xsd::cxx::tree::optional<RefreshType> RefreshOptional; - typedef ::xsd::cxx::tree::traits<RefreshType, char> RefreshTraits; + void + setContenttype (::std::unique_ptr< ContenttypeType > p); - const RefreshOptional &getRefresh() const; + // refresh + // + typedef ::LinphonePrivate::Xsd::XmlSchema::PositiveInteger RefreshType; + typedef ::xsd::cxx::tree::optional< RefreshType > RefreshOptional; + typedef ::xsd::cxx::tree::traits< RefreshType, char > RefreshTraits; - RefreshOptional &getRefresh(); + const RefreshOptional& + getRefresh () const; - void setRefresh(const RefreshType &x); + RefreshOptional& + getRefresh (); - void setRefresh(const RefreshOptional &x); + void + setRefresh (const RefreshType& x); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + void + setRefresh (const RefreshOptional& x); - const AnySequence &getAny() const; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - AnySequence &getAny(); + const AnySequence& + getAny () const; - void setAny(const AnySequence &s); + AnySequence& + getAny (); + + void + setAny (const AnySequence& s); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - ::xercesc::DOMDocument &getDomDocument(); + ::xercesc::DOMDocument& + getDomDocument (); - // Constructors. - // - IsComposing(const StateType &); + // Constructors. + // + IsComposing (const StateType&); - IsComposing(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + IsComposing (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - IsComposing(const IsComposing &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + IsComposing (const IsComposing& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual IsComposing *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual IsComposing* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - IsComposing &operator=(const IsComposing &x); + IsComposing& + operator= (const IsComposing& x); - virtual ~IsComposing(); + virtual + ~IsComposing (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - ::xsd::cxx::tree::one<StateType> state_; - LastactiveOptional lastactive_; - ContenttypeOptional contenttype_; - RefreshOptional refresh_; - AnySequence any_; -}; -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate + ::xsd::cxx::tree::one< StateType > state_; + LastactiveOptional lastactive_; + ContenttypeOptional contenttype_; + RefreshOptional refresh_; + AnySequence any_; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -::std::ostream &operator<<(::std::ostream &, const IsComposing &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + ::std::ostream& + operator<< (::std::ostream&, const IsComposing&); + } + } } -} // namespace Xsd -} // namespace LinphonePrivate #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -// Parse a URI or a local file. -// -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::IsComposing::IsComposing> parseIsComposing( - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::IsComposing::IsComposing > + parseIsComposing (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -527,94 +575,98 @@ namespace IsComposing { #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace IsComposing { -// Serialize to std::ostream. -// - -void serializeIsComposing(::std::ostream &os, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeIsComposing(::std::ostream &os, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeIsComposing(::std::ostream &os, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// - -void serializeIsComposing(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeIsComposing(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeIsComposing(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// - -void serializeIsComposing(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to a new xercesc::DOMDocument. -// - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeIsComposing(const ::LinphonePrivate::Xsd::IsComposing::IsComposing &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void operator<<(::xercesc::DOMElement &, const IsComposing &); -} // namespace IsComposing -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace IsComposing + { + // Serialize to std::ostream. + // + + void + serializeIsComposing (::std::ostream& os, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeIsComposing (::std::ostream& os, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeIsComposing (::std::ostream& os, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeIsComposing (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeIsComposing (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeIsComposing (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeIsComposing (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeIsComposing (const ::LinphonePrivate::Xsd::IsComposing::IsComposing& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const IsComposing&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/linphone-imdn.cpp b/src/xml/linphone-imdn.cpp index 19a220886e..7f57888aab 100644 --- a/src/xml/linphone-imdn.cpp +++ b/src/xml/linphone-imdn.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,363 +41,472 @@ #include "linphone-imdn.h" -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -// ImdnReason -// - -const ImdnReason::CodeType &ImdnReason::getCode() const { - return this->code_.get(); -} - -ImdnReason::CodeType &ImdnReason::getCode() { - return this->code_.get(); -} - -void ImdnReason::setCode(const CodeType &x) { - this->code_.set(x); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + // ImdnReason + // + + const ImdnReason::CodeType& ImdnReason:: + getCode () const + { + return this->code_.get (); + } + + ImdnReason::CodeType& ImdnReason:: + getCode () + { + return this->code_.get (); + } + + void ImdnReason:: + setCode (const CodeType& x) + { + this->code_.set (x); + } + + ImdnReason::CodeType ImdnReason:: + getCodeDefaultValue () + { + return CodeType (200); + } + } + } } -ImdnReason::CodeType ImdnReason::getCodeDefaultValue() { - return CodeType(200); -} -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/xml/dom/wildcard-source.hxx> #include <xsd/cxx/xml/dom/parsing-source.hxx> #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -// ImdnReason -// - -ImdnReason::ImdnReason() : ::LinphonePrivate::Xsd::XmlSchema::String(), code_(getCodeDefaultValue(), this) { -} - -ImdnReason::ImdnReason(const char *_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), code_(getCodeDefaultValue(), this) { -} - -ImdnReason::ImdnReason(const ::std::string &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), code_(getCodeDefaultValue(), this) { -} - -ImdnReason::ImdnReason(const ::LinphonePrivate::Xsd::XmlSchema::String &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), code_(getCodeDefaultValue(), this) { -} - -ImdnReason::ImdnReason(const ImdnReason &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(x, f, c), code_(x.code_, f, this) { +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + // ImdnReason + // + + ImdnReason:: + ImdnReason () + : ::LinphonePrivate::Xsd::XmlSchema::String (), + code_ (getCodeDefaultValue (), this) + { + } + + ImdnReason:: + ImdnReason (const char* _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + code_ (getCodeDefaultValue (), this) + { + } + + ImdnReason:: + ImdnReason (const ::std::string& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + code_ (getCodeDefaultValue (), this) + { + } + + ImdnReason:: + ImdnReason (const ::LinphonePrivate::Xsd::XmlSchema::String& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + code_ (getCodeDefaultValue (), this) + { + } + + ImdnReason:: + ImdnReason (const ImdnReason& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (x, f, c), + code_ (x.code_, f, this) + { + } + + ImdnReason:: + ImdnReason (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + code_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true); + this->parse (p, f); + } + } + + void ImdnReason:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "code" && n.namespace_ ().empty ()) + { + this->code_.set (CodeTraits::create (i, f, this)); + continue; + } + } + + if (!code_.present ()) + { + this->code_.set (getCodeDefaultValue ()); + } + } + + ImdnReason* ImdnReason:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ImdnReason (*this, f, c); + } + + ImdnReason& ImdnReason:: + operator= (const ImdnReason& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = x; + this->code_ = x.code_; + } + + return *this; + } + + ImdnReason:: + ~ImdnReason () + { + } + } + } } -ImdnReason::ImdnReason(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), code_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, false, false, true); - this->parse(p, f); - } -} - -void ImdnReason::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "code" && n.namespace_().empty()) { - this->code_.set(CodeTraits::create(i, f, this)); - continue; - } - } - - if (!code_.present()) { - this->code_.set(getCodeDefaultValue()); - } -} - -ImdnReason *ImdnReason::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ImdnReason(*this, f, c); -} - -ImdnReason &ImdnReason::operator=(const ImdnReason &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = x; - this->code_ = x.code_; - } - - return *this; -} - -ImdnReason::~ImdnReason() { -} -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate - #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; } -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -::std::ostream &operator<<(::std::ostream &o, const ImdnReason &i) { - o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + ::std::ostream& + operator<< (::std::ostream& o, const ImdnReason& i) + { + o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); - o << ::std::endl << "code: " << i.getCode(); - return o; + o << ::std::endl << "code: " << i.getCode (); + return o; + } + } + } } -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason(std::move(d), - f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason>( - ::LinphonePrivate::Xsd::LinphoneImdn::parseReason( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "reason" && n.namespace_() == "http://www.linphone.org/xsds/imdn.xsd") { - ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "reason", - "http://www.linphone.org/xsds/imdn.xsd"); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); - - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); - - if (n.name() == "reason" && n.namespace_() == "http://www.linphone.org/xsds/imdn.xsd") { - ::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "reason", - "http://www.linphone.org/xsds/imdn.xsd"); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::LinphoneImdn::parseReason (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > ( + ::LinphonePrivate::Xsd::LinphoneImdn::parseReason ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "reason" && + n.namespace_ () == "http://www.linphone.org/xsds/imdn.xsd") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reason", + "http://www.linphone.org/xsds/imdn.xsd"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "reason" && + n.namespace_ () == "http://www.linphone.org/xsds/imdn.xsd") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reason", + "http://www.linphone.org/xsds/imdn.xsd"); + } + } + } } -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -405,154 +514,200 @@ parseReason(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDoc #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -void serializeReason(::std::ostream &o, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeReason(::std::ostream &o, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + void + serializeReason (::std::ostream& o, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeReason (::std::ostream& o, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeReason (::std::ostream& o, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeReason (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeReason (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeReason (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeReason (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "reason" && + n.namespace_ () == "http://www.linphone.org/xsds/imdn.xsd") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reason", + "http://www.linphone.org/xsds/imdn.xsd"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeReason (const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "reason", + "http://www.linphone.org/xsds/imdn.xsd", + m, f)); + + ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const ImdnReason& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + + // code + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "code", + e)); + + a << i.getCode (); + } + } + } + } } -void serializeReason(::std::ostream &o, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeReason(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeReason(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeReason(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeReason(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "reason" && n.namespace_() == "http://www.linphone.org/xsds/imdn.xsd") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "reason", - "http://www.linphone.org/xsds/imdn.xsd"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeReason(const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("reason", "http://www.linphone.org/xsds/imdn.xsd", m, f)); - - ::LinphonePrivate::Xsd::LinphoneImdn::serializeReason(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const ImdnReason &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); - - // code - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("code", e)); - - a << i.getCode(); - } -} -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/linphone-imdn.h b/src/xml/linphone-imdn.h index d132f0b5bd..4a4e7e1021 100644 --- a/src/xml/linphone-imdn.h +++ b/src/xml/linphone-imdn.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,387 +71,415 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -class ImdnReason; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + class ImdnReason; + } + } } -} // namespace Xsd -} // namespace LinphonePrivate -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits + #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> #include <xsd/cxx/tree/containers-wildcard.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -class ImdnReason : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - // code - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Int CodeType; - typedef ::xsd::cxx::tree::traits<CodeType, char> CodeTraits; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + class ImdnReason: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + // code + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Int CodeType; + typedef ::xsd::cxx::tree::traits< CodeType, char > CodeTraits; - const CodeType &getCode() const; + const CodeType& + getCode () const; - CodeType &getCode(); + CodeType& + getCode (); - void setCode(const CodeType &x); + void + setCode (const CodeType& x); - static CodeType getCodeDefaultValue(); + static CodeType + getCodeDefaultValue (); - // Constructors. - // - ImdnReason(); + // Constructors. + // + ImdnReason (); - ImdnReason(const char *); + ImdnReason (const char*); - ImdnReason(const ::std::string &); + ImdnReason (const ::std::string&); - ImdnReason(const ::LinphonePrivate::Xsd::XmlSchema::String &); + ImdnReason (const ::LinphonePrivate::Xsd::XmlSchema::String&); - ImdnReason(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ImdnReason (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ImdnReason(const ImdnReason &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ImdnReason (const ImdnReason& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual ImdnReason *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual ImdnReason* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - ImdnReason &operator=(const ImdnReason &x); + ImdnReason& + operator= (const ImdnReason& x); - virtual ~ImdnReason(); + virtual + ~ImdnReason (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); -protected: - ::xsd::cxx::tree::one<CodeType> code_; -}; -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate + protected: + ::xsd::cxx::tree::one< CodeType > code_; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -::std::ostream &operator<<(::std::ostream &, const ImdnReason &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + ::std::ostream& + operator<< (::std::ostream&, const ImdnReason&); + } + } } -} // namespace Xsd -} // namespace LinphonePrivate #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -// Parse a URI or a local file. -// -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason> -parseReason(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason > + parseReason (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -461,94 +489,98 @@ parseReason(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDoc #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace LinphoneImdn { -// Serialize to std::ostream. -// - -void serializeReason(::std::ostream &os, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeReason(::std::ostream &os, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeReason(::std::ostream &os, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// - -void serializeReason(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeReason(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeReason(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// - -void serializeReason(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to a new xercesc::DOMDocument. -// - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeReason(const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void operator<<(::xercesc::DOMElement &, const ImdnReason &); -} // namespace LinphoneImdn -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace LinphoneImdn + { + // Serialize to std::ostream. + // + + void + serializeReason (::std::ostream& os, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeReason (::std::ostream& os, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeReason (::std::ostream& os, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeReason (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeReason (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeReason (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeReason (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeReason (const ::LinphonePrivate::Xsd::LinphoneImdn::ImdnReason& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const ImdnReason&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/resource-lists.cpp b/src/xml/resource-lists.cpp index 3d5f9a3acc..8f178bc9ab 100644 --- a/src/xml/resource-lists.cpp +++ b/src/xml/resource-lists.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,1374 +41,1948 @@ #include "resource-lists.h" -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -// ListType -// - -const ListType::DisplayNameOptional &ListType::getDisplayName() const { - return this->display_name_; -} - -ListType::DisplayNameOptional &ListType::getDisplayName() { - return this->display_name_; -} - -void ListType::setDisplayName(const DisplayNameType &x) { - this->display_name_.set(x); -} - -void ListType::setDisplayName(const DisplayNameOptional &x) { - this->display_name_ = x; -} - -void ListType::setDisplayName(::std::unique_ptr<DisplayNameType> x) { - this->display_name_.set(std::move(x)); -} - -const ListType::ListSequence &ListType::getList() const { - return this->list_; -} - -ListType::ListSequence &ListType::getList() { - return this->list_; -} - -void ListType::setList(const ListSequence &s) { - this->list_ = s; -} - -const ListType::ExternalSequence &ListType::getExternal() const { - return this->external_; -} - -ListType::ExternalSequence &ListType::getExternal() { - return this->external_; -} - -void ListType::setExternal(const ExternalSequence &s) { - this->external_ = s; -} - -const ListType::EntrySequence &ListType::getEntry() const { - return this->entry_; -} - -ListType::EntrySequence &ListType::getEntry() { - return this->entry_; -} - -void ListType::setEntry(const EntrySequence &s) { - this->entry_ = s; -} - -const ListType::EntryRefSequence &ListType::getEntryRef() const { - return this->entry_ref_; -} - -ListType::EntryRefSequence &ListType::getEntryRef() { - return this->entry_ref_; -} - -void ListType::setEntryRef(const EntryRefSequence &s) { - this->entry_ref_ = s; -} - -const ListType::AnySequence &ListType::getAny() const { - return this->any_; -} - -ListType::AnySequence &ListType::getAny() { - return this->any_; -} - -void ListType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ListType::NameOptional &ListType::getName() const { - return this->name_; -} - -ListType::NameOptional &ListType::getName() { - return this->name_; -} - -void ListType::setName(const NameType &x) { - this->name_.set(x); -} - -void ListType::setName(const NameOptional &x) { - this->name_ = x; -} - -void ListType::setName(::std::unique_ptr<NameType> x) { - this->name_.set(std::move(x)); -} - -const ListType::AnyAttributeSet &ListType::getAnyAttribute() const { - return this->any_attribute_; -} - -ListType::AnyAttributeSet &ListType::getAnyAttribute() { - return this->any_attribute_; -} - -void ListType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ListType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ListType::getDomDocument() { - return *this->dom_document_; -} - -// EntryType -// - -const EntryType::DisplayNameOptional &EntryType::getDisplayName() const { - return this->display_name_; -} - -EntryType::DisplayNameOptional &EntryType::getDisplayName() { - return this->display_name_; -} - -void EntryType::setDisplayName(const DisplayNameType &x) { - this->display_name_.set(x); -} - -void EntryType::setDisplayName(const DisplayNameOptional &x) { - this->display_name_ = x; -} - -void EntryType::setDisplayName(::std::unique_ptr<DisplayNameType> x) { - this->display_name_.set(std::move(x)); -} - -const EntryType::AnySequence &EntryType::getAny() const { - return this->any_; -} - -EntryType::AnySequence &EntryType::getAny() { - return this->any_; -} - -void EntryType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const EntryType::UriType &EntryType::getUri() const { - return this->uri_.get(); -} - -EntryType::UriType &EntryType::getUri() { - return this->uri_.get(); -} - -void EntryType::setUri(const UriType &x) { - this->uri_.set(x); -} - -void EntryType::setUri(::std::unique_ptr<UriType> x) { - this->uri_.set(std::move(x)); -} - -::std::unique_ptr<EntryType::UriType> EntryType::setDetachUri() { - return this->uri_.detach(); -} - -const EntryType::AnyAttributeSet &EntryType::getAnyAttribute() const { - return this->any_attribute_; -} - -EntryType::AnyAttributeSet &EntryType::getAnyAttribute() { - return this->any_attribute_; -} - -void EntryType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &EntryType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &EntryType::getDomDocument() { - return *this->dom_document_; -} - -// EntryRefType -// - -const EntryRefType::DisplayNameOptional &EntryRefType::getDisplayName() const { - return this->display_name_; -} - -EntryRefType::DisplayNameOptional &EntryRefType::getDisplayName() { - return this->display_name_; -} - -void EntryRefType::setDisplayName(const DisplayNameType &x) { - this->display_name_.set(x); -} - -void EntryRefType::setDisplayName(const DisplayNameOptional &x) { - this->display_name_ = x; -} - -void EntryRefType::setDisplayName(::std::unique_ptr<DisplayNameType> x) { - this->display_name_.set(std::move(x)); -} - -const EntryRefType::AnySequence &EntryRefType::getAny() const { - return this->any_; -} - -EntryRefType::AnySequence &EntryRefType::getAny() { - return this->any_; -} - -void EntryRefType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const EntryRefType::RefType &EntryRefType::getRef() const { - return this->ref_.get(); -} - -EntryRefType::RefType &EntryRefType::getRef() { - return this->ref_.get(); -} - -void EntryRefType::setRef(const RefType &x) { - this->ref_.set(x); -} - -void EntryRefType::setRef(::std::unique_ptr<RefType> x) { - this->ref_.set(std::move(x)); -} - -::std::unique_ptr<EntryRefType::RefType> EntryRefType::setDetachRef() { - return this->ref_.detach(); -} - -const EntryRefType::AnyAttributeSet &EntryRefType::getAnyAttribute() const { - return this->any_attribute_; -} - -EntryRefType::AnyAttributeSet &EntryRefType::getAnyAttribute() { - return this->any_attribute_; -} - -void EntryRefType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &EntryRefType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &EntryRefType::getDomDocument() { - return *this->dom_document_; -} - -// ExternalType -// - -const ExternalType::DisplayNameOptional &ExternalType::getDisplayName() const { - return this->display_name_; -} - -ExternalType::DisplayNameOptional &ExternalType::getDisplayName() { - return this->display_name_; -} - -void ExternalType::setDisplayName(const DisplayNameType &x) { - this->display_name_.set(x); -} - -void ExternalType::setDisplayName(const DisplayNameOptional &x) { - this->display_name_ = x; -} - -void ExternalType::setDisplayName(::std::unique_ptr<DisplayNameType> x) { - this->display_name_.set(std::move(x)); -} - -const ExternalType::AnySequence &ExternalType::getAny() const { - return this->any_; -} - -ExternalType::AnySequence &ExternalType::getAny() { - return this->any_; -} - -void ExternalType::setAny(const AnySequence &s) { - this->any_ = s; -} - -const ExternalType::AnchorOptional &ExternalType::getAnchor() const { - return this->anchor_; -} - -ExternalType::AnchorOptional &ExternalType::getAnchor() { - return this->anchor_; -} - -void ExternalType::setAnchor(const AnchorType &x) { - this->anchor_.set(x); -} - -void ExternalType::setAnchor(const AnchorOptional &x) { - this->anchor_ = x; -} - -void ExternalType::setAnchor(::std::unique_ptr<AnchorType> x) { - this->anchor_.set(std::move(x)); -} - -const ExternalType::AnyAttributeSet &ExternalType::getAnyAttribute() const { - return this->any_attribute_; -} - -ExternalType::AnyAttributeSet &ExternalType::getAnyAttribute() { - return this->any_attribute_; -} - -void ExternalType::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &ExternalType::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &ExternalType::getDomDocument() { - return *this->dom_document_; -} - -// DisplayNameType -// - -const DisplayNameType::LangOptional &DisplayNameType::getLang() const { - return this->lang_; -} - -DisplayNameType::LangOptional &DisplayNameType::getLang() { - return this->lang_; -} - -void DisplayNameType::setLang(const LangType &x) { - this->lang_.set(x); -} - -void DisplayNameType::setLang(const LangOptional &x) { - this->lang_ = x; -} - -void DisplayNameType::setLang(::std::unique_ptr<LangType> x) { - this->lang_.set(std::move(x)); -} - -// List -// - -// DisplayName -// - -// ResourceLists -// - -const ResourceLists::ListSequence &ResourceLists::getList() const { - return this->list_; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + // ListType + // + + const ListType::DisplayNameOptional& ListType:: + getDisplayName () const + { + return this->display_name_; + } + + ListType::DisplayNameOptional& ListType:: + getDisplayName () + { + return this->display_name_; + } + + void ListType:: + setDisplayName (const DisplayNameType& x) + { + this->display_name_.set (x); + } + + void ListType:: + setDisplayName (const DisplayNameOptional& x) + { + this->display_name_ = x; + } + + void ListType:: + setDisplayName (::std::unique_ptr< DisplayNameType > x) + { + this->display_name_.set (std::move (x)); + } + + const ListType::ListSequence& ListType:: + getList () const + { + return this->list_; + } + + ListType::ListSequence& ListType:: + getList () + { + return this->list_; + } + + void ListType:: + setList (const ListSequence& s) + { + this->list_ = s; + } + + const ListType::ExternalSequence& ListType:: + getExternal () const + { + return this->external_; + } + + ListType::ExternalSequence& ListType:: + getExternal () + { + return this->external_; + } + + void ListType:: + setExternal (const ExternalSequence& s) + { + this->external_ = s; + } + + const ListType::EntrySequence& ListType:: + getEntry () const + { + return this->entry_; + } + + ListType::EntrySequence& ListType:: + getEntry () + { + return this->entry_; + } + + void ListType:: + setEntry (const EntrySequence& s) + { + this->entry_ = s; + } + + const ListType::EntryRefSequence& ListType:: + getEntryRef () const + { + return this->entry_ref_; + } + + ListType::EntryRefSequence& ListType:: + getEntryRef () + { + return this->entry_ref_; + } + + void ListType:: + setEntryRef (const EntryRefSequence& s) + { + this->entry_ref_ = s; + } + + const ListType::AnySequence& ListType:: + getAny () const + { + return this->any_; + } + + ListType::AnySequence& ListType:: + getAny () + { + return this->any_; + } + + void ListType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ListType::NameOptional& ListType:: + getName () const + { + return this->name_; + } + + ListType::NameOptional& ListType:: + getName () + { + return this->name_; + } + + void ListType:: + setName (const NameType& x) + { + this->name_.set (x); + } + + void ListType:: + setName (const NameOptional& x) + { + this->name_ = x; + } + + void ListType:: + setName (::std::unique_ptr< NameType > x) + { + this->name_.set (std::move (x)); + } + + const ListType::AnyAttributeSet& ListType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ListType::AnyAttributeSet& ListType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ListType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ListType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ListType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // EntryType + // + + const EntryType::DisplayNameOptional& EntryType:: + getDisplayName () const + { + return this->display_name_; + } + + EntryType::DisplayNameOptional& EntryType:: + getDisplayName () + { + return this->display_name_; + } + + void EntryType:: + setDisplayName (const DisplayNameType& x) + { + this->display_name_.set (x); + } + + void EntryType:: + setDisplayName (const DisplayNameOptional& x) + { + this->display_name_ = x; + } + + void EntryType:: + setDisplayName (::std::unique_ptr< DisplayNameType > x) + { + this->display_name_.set (std::move (x)); + } + + const EntryType::AnySequence& EntryType:: + getAny () const + { + return this->any_; + } + + EntryType::AnySequence& EntryType:: + getAny () + { + return this->any_; + } + + void EntryType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const EntryType::UriType& EntryType:: + getUri () const + { + return this->uri_.get (); + } + + EntryType::UriType& EntryType:: + getUri () + { + return this->uri_.get (); + } + + void EntryType:: + setUri (const UriType& x) + { + this->uri_.set (x); + } + + void EntryType:: + setUri (::std::unique_ptr< UriType > x) + { + this->uri_.set (std::move (x)); + } + + ::std::unique_ptr< EntryType::UriType > EntryType:: + setDetachUri () + { + return this->uri_.detach (); + } + + const EntryType::AnyAttributeSet& EntryType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + EntryType::AnyAttributeSet& EntryType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void EntryType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& EntryType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& EntryType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // EntryRefType + // + + const EntryRefType::DisplayNameOptional& EntryRefType:: + getDisplayName () const + { + return this->display_name_; + } + + EntryRefType::DisplayNameOptional& EntryRefType:: + getDisplayName () + { + return this->display_name_; + } + + void EntryRefType:: + setDisplayName (const DisplayNameType& x) + { + this->display_name_.set (x); + } + + void EntryRefType:: + setDisplayName (const DisplayNameOptional& x) + { + this->display_name_ = x; + } + + void EntryRefType:: + setDisplayName (::std::unique_ptr< DisplayNameType > x) + { + this->display_name_.set (std::move (x)); + } + + const EntryRefType::AnySequence& EntryRefType:: + getAny () const + { + return this->any_; + } + + EntryRefType::AnySequence& EntryRefType:: + getAny () + { + return this->any_; + } + + void EntryRefType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const EntryRefType::RefType& EntryRefType:: + getRef () const + { + return this->ref_.get (); + } + + EntryRefType::RefType& EntryRefType:: + getRef () + { + return this->ref_.get (); + } + + void EntryRefType:: + setRef (const RefType& x) + { + this->ref_.set (x); + } + + void EntryRefType:: + setRef (::std::unique_ptr< RefType > x) + { + this->ref_.set (std::move (x)); + } + + ::std::unique_ptr< EntryRefType::RefType > EntryRefType:: + setDetachRef () + { + return this->ref_.detach (); + } + + const EntryRefType::AnyAttributeSet& EntryRefType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + EntryRefType::AnyAttributeSet& EntryRefType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void EntryRefType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& EntryRefType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& EntryRefType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // ExternalType + // + + const ExternalType::DisplayNameOptional& ExternalType:: + getDisplayName () const + { + return this->display_name_; + } + + ExternalType::DisplayNameOptional& ExternalType:: + getDisplayName () + { + return this->display_name_; + } + + void ExternalType:: + setDisplayName (const DisplayNameType& x) + { + this->display_name_.set (x); + } + + void ExternalType:: + setDisplayName (const DisplayNameOptional& x) + { + this->display_name_ = x; + } + + void ExternalType:: + setDisplayName (::std::unique_ptr< DisplayNameType > x) + { + this->display_name_.set (std::move (x)); + } + + const ExternalType::AnySequence& ExternalType:: + getAny () const + { + return this->any_; + } + + ExternalType::AnySequence& ExternalType:: + getAny () + { + return this->any_; + } + + void ExternalType:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const ExternalType::AnchorOptional& ExternalType:: + getAnchor () const + { + return this->anchor_; + } + + ExternalType::AnchorOptional& ExternalType:: + getAnchor () + { + return this->anchor_; + } + + void ExternalType:: + setAnchor (const AnchorType& x) + { + this->anchor_.set (x); + } + + void ExternalType:: + setAnchor (const AnchorOptional& x) + { + this->anchor_ = x; + } + + void ExternalType:: + setAnchor (::std::unique_ptr< AnchorType > x) + { + this->anchor_.set (std::move (x)); + } + + const ExternalType::AnyAttributeSet& ExternalType:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + ExternalType::AnyAttributeSet& ExternalType:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void ExternalType:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& ExternalType:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& ExternalType:: + getDomDocument () + { + return *this->dom_document_; + } + + + // DisplayNameType + // + + const DisplayNameType::LangOptional& DisplayNameType:: + getLang () const + { + return this->lang_; + } + + DisplayNameType::LangOptional& DisplayNameType:: + getLang () + { + return this->lang_; + } + + void DisplayNameType:: + setLang (const LangType& x) + { + this->lang_.set (x); + } + + void DisplayNameType:: + setLang (const LangOptional& x) + { + this->lang_ = x; + } + + void DisplayNameType:: + setLang (::std::unique_ptr< LangType > x) + { + this->lang_.set (std::move (x)); + } + + + // List + // + + + // DisplayName + // + + + // ResourceLists + // + + const ResourceLists::ListSequence& ResourceLists:: + getList () const + { + return this->list_; + } + + ResourceLists::ListSequence& ResourceLists:: + getList () + { + return this->list_; + } + + void ResourceLists:: + setList (const ListSequence& s) + { + this->list_ = s; + } + } + } } -ResourceLists::ListSequence &ResourceLists::getList() { - return this->list_; -} - -void ResourceLists::setList(const ListSequence &s) { - this->list_ = s; -} -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/xml/dom/wildcard-source.hxx> #include <xsd/cxx/xml/dom/parsing-source.hxx> #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -// ListType -// - -ListType::ListType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(this), list_(this), external_(this), entry_(this), entry_ref_(this), any_(this->getDomDocument()), - name_(this), any_attribute_(this->getDomDocument()) { -} - -ListType::ListType(const ListType &x, +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + // ListType + // + + ListType:: + ListType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + list_ (this), + external_ (this), + entry_ (this), + entry_ref_ (this), + any_ (this->getDomDocument ()), + name_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + ListType:: + ListType (const ListType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (x.display_name_, f, this), + list_ (x.list_, f, this), + external_ (x.external_, f, this), + entry_ (x.entry_, f, this), + entry_ref_ (x.entry_ref_, f, this), + any_ (x.any_, this->getDomDocument ()), + name_ (x.name_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ListType:: + ListType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + list_ (this), + external_ (this), + entry_ (this), + entry_ref_ (this), + any_ (this->getDomDocument ()), + name_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ListType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-name + // + if (n.name () == "display-name" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< DisplayNameType > r ( + DisplayNameTraits::create (i, f, this)); + + if (!this->display_name_) + { + this->display_name_.set (::std::move (r)); + continue; + } + } + + // list + // + if (n.name () == "list" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< ListType1 > r ( + ListTraits::create (i, f, this)); + + this->list_.push_back (::std::move (r)); + continue; + } + + // external + // + if (n.name () == "external" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< ExternalType > r ( + ExternalTraits::create (i, f, this)); + + this->external_.push_back (::std::move (r)); + continue; + } + + // entry + // + if (n.name () == "entry" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< EntryType > r ( + EntryTraits::create (i, f, this)); + + this->entry_.push_back (::std::move (r)); + continue; + } + + // entry-ref + // + if (n.name () == "entry-ref" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< EntryRefType > r ( + EntryRefTraits::create (i, f, this)); + + this->entry_ref_.push_back (::std::move (r)); + continue; + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "name" && n.namespace_ ().empty ()) + { + this->name_.set (NameTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ListType* ListType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ListType (*this, f, c); + } + + ListType& ListType:: + operator= (const ListType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_name_ = x.display_name_; + this->list_ = x.list_; + this->external_ = x.external_; + this->entry_ = x.entry_; + this->entry_ref_ = x.entry_ref_; + this->any_ = x.any_; + this->name_ = x.name_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ListType:: + ~ListType () + { + } + + // EntryType + // + + EntryType:: + EntryType (const UriType& uri) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + uri_ (uri, this), + any_attribute_ (this->getDomDocument ()) + { + } + + EntryType:: + EntryType (const EntryType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (x.display_name_, f, this), + any_ (x.any_, this->getDomDocument ()), + uri_ (x.uri_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + EntryType:: + EntryType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + uri_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void EntryType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-name + // + if (n.name () == "display-name" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< DisplayNameType > r ( + DisplayNameTraits::create (i, f, this)); + + if (!this->display_name_) + { + this->display_name_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "uri" && n.namespace_ ().empty ()) + { + this->uri_.set (UriTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!uri_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "uri", + ""); + } + } + + EntryType* EntryType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class EntryType (*this, f, c); + } + + EntryType& EntryType:: + operator= (const EntryType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_name_ = x.display_name_; + this->any_ = x.any_; + this->uri_ = x.uri_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + EntryType:: + ~EntryType () + { + } + + // EntryRefType + // + + EntryRefType:: + EntryRefType (const RefType& ref) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + ref_ (ref, this), + any_attribute_ (this->getDomDocument ()) + { + } + + EntryRefType:: + EntryRefType (const EntryRefType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (x.display_name_, f, this), + any_ (x.any_, this->getDomDocument ()), + ref_ (x.ref_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + EntryRefType:: + EntryRefType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + ref_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void EntryRefType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-name + // + if (n.name () == "display-name" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< DisplayNameType > r ( + DisplayNameTraits::create (i, f, this)); + + if (!this->display_name_) + { + this->display_name_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "ref" && n.namespace_ ().empty ()) + { + this->ref_.set (RefTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!ref_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "ref", + ""); + } + } + + EntryRefType* EntryRefType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class EntryRefType (*this, f, c); + } + + EntryRefType& EntryRefType:: + operator= (const EntryRefType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_name_ = x.display_name_; + this->any_ = x.any_; + this->ref_ = x.ref_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + EntryRefType:: + ~EntryRefType () + { + } + + // ExternalType + // + + ExternalType:: + ExternalType () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + anchor_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + ExternalType:: + ExternalType (const ExternalType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (x.display_name_, f, this), + any_ (x.any_, this->getDomDocument ()), + anchor_ (x.anchor_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + ExternalType:: + ExternalType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + display_name_ (this), + any_ (this->getDomDocument ()), + anchor_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void ExternalType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // display-name + // + if (n.name () == "display-name" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< DisplayNameType > r ( + DisplayNameTraits::create (i, f, this)); + + if (!this->display_name_) + { + this->display_name_.set (::std::move (r)); + continue; + } + } + + // any + // + if ((!n.namespace_ ().empty () && n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists")) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "anchor" && n.namespace_ ().empty ()) + { + this->anchor_.set (AnchorTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((!n.namespace_ ().empty () && + n.namespace_ () != "urn:ietf:params:xml:ns:resource-lists" && + n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + } + + ExternalType* ExternalType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ExternalType (*this, f, c); + } + + ExternalType& ExternalType:: + operator= (const ExternalType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->display_name_ = x.display_name_; + this->any_ = x.any_; + this->anchor_ = x.anchor_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + ExternalType:: + ~ExternalType () + { + } + + // DisplayNameType + // + + DisplayNameType:: + DisplayNameType () + : ::LinphonePrivate::Xsd::XmlSchema::String (), + lang_ (this) + { + } + + DisplayNameType:: + DisplayNameType (const char* _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + DisplayNameType:: + DisplayNameType (const ::std::string& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + DisplayNameType:: + DisplayNameType (const ::LinphonePrivate::Xsd::XmlSchema::String& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + DisplayNameType:: + DisplayNameType (const DisplayNameType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (x, f, c), + lang_ (x.lang_, f, this) + { + } + + DisplayNameType:: + DisplayNameType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + lang_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true); + this->parse (p, f); + } + } + + void DisplayNameType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (LangTraits::create (i, f, this)); + continue; + } + } + } + + DisplayNameType* DisplayNameType:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class DisplayNameType (*this, f, c); + } + + DisplayNameType& DisplayNameType:: + operator= (const DisplayNameType& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = x; + this->lang_ = x.lang_; + } + + return *this; + } + + DisplayNameType:: + ~DisplayNameType () + { + } + + // List + // + + List:: + List () + : ::LinphonePrivate::Xsd::ResourceLists::ListType () + { + } + + List:: + List (const List& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::ResourceLists::ListType (x, f, c) + { + } + + List:: + List (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::ResourceLists::ListType (e, f, c) + { + } + + List* List:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class List (*this, f, c); + } + + List:: + ~List () + { + } + + // DisplayName + // + + DisplayName:: + DisplayName () + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType () + { + } + + DisplayName:: + DisplayName (const char* _xsd_String_base) + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType (_xsd_String_base) + { + } + + DisplayName:: + DisplayName (const ::std::string& _xsd_String_base) + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType (_xsd_String_base) + { + } + + DisplayName:: + DisplayName (const ::LinphonePrivate::Xsd::XmlSchema::String& _xsd_String_base) + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType (_xsd_String_base) + { + } + + DisplayName:: + DisplayName (const DisplayName& x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(x.display_name_, f, this), list_(x.list_, f, this), external_(x.external_, f, this), - entry_(x.entry_, f, this), entry_ref_(x.entry_ref_, f, this), any_(x.any_, this->getDomDocument()), - name_(x.name_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType (x, f, c) + { + } -ListType::ListType(const ::xercesc::DOMElement &e, + DisplayName:: + DisplayName (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_name_(this), list_(this), external_(this), - entry_(this), entry_ref_(this), any_(this->getDomDocument()), name_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ListType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-name - // - if (n.name() == "display-name" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<DisplayNameType> r(DisplayNameTraits::create(i, f, this)); - - if (!this->display_name_) { - this->display_name_.set(::std::move(r)); - continue; - } - } - - // list - // - if (n.name() == "list" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<ListType1> r(ListTraits::create(i, f, this)); - - this->list_.push_back(::std::move(r)); - continue; - } - - // external - // - if (n.name() == "external" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<ExternalType> r(ExternalTraits::create(i, f, this)); - - this->external_.push_back(::std::move(r)); - continue; - } - - // entry - // - if (n.name() == "entry" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<EntryType> r(EntryTraits::create(i, f, this)); - - this->entry_.push_back(::std::move(r)); - continue; - } - - // entry-ref - // - if (n.name() == "entry-ref" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<EntryRefType> r(EntryRefTraits::create(i, f, this)); - - this->entry_ref_.push_back(::std::move(r)); - continue; - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "name" && n.namespace_().empty()) { - this->name_.set(NameTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ListType *ListType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ListType(*this, f, c); -} - -ListType &ListType::operator=(const ListType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_name_ = x.display_name_; - this->list_ = x.list_; - this->external_ = x.external_; - this->entry_ = x.entry_; - this->entry_ref_ = x.entry_ref_; - this->any_ = x.any_; - this->name_ = x.name_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ListType::~ListType() { -} - -// EntryType -// - -EntryType::EntryType(const UriType &uri) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(this), any_(this->getDomDocument()), uri_(uri, this), any_attribute_(this->getDomDocument()) { -} - -EntryType::EntryType(const EntryType &x, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType (e, f, c) + { + } + + DisplayName* DisplayName:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class DisplayName (*this, f, c); + } + + DisplayName:: + ~DisplayName () + { + } + + // ResourceLists + // + + ResourceLists:: + ResourceLists () + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + list_ (this) + { + } + + ResourceLists:: + ResourceLists (const ResourceLists& x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(x.display_name_, f, this), any_(x.any_, this->getDomDocument()), uri_(x.uri_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -EntryType::EntryType(const ::xercesc::DOMElement &e, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + list_ (x.list_, f, this) + { + } + + ResourceLists:: + ResourceLists (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_name_(this), any_(this->getDomDocument()), - uri_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void EntryType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-name - // - if (n.name() == "display-name" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<DisplayNameType> r(DisplayNameTraits::create(i, f, this)); - - if (!this->display_name_) { - this->display_name_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "uri" && n.namespace_().empty()) { - this->uri_.set(UriTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!uri_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("uri", ""); - } -} - -EntryType *EntryType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class EntryType(*this, f, c); -} - -EntryType &EntryType::operator=(const EntryType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_name_ = x.display_name_; - this->any_ = x.any_; - this->uri_ = x.uri_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -EntryType::~EntryType() { -} - -// EntryRefType -// - -EntryRefType::EntryRefType(const RefType &ref) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(this), any_(this->getDomDocument()), ref_(ref, this), any_attribute_(this->getDomDocument()) { -} - -EntryRefType::EntryRefType(const EntryRefType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(x.display_name_, f, this), any_(x.any_, this->getDomDocument()), ref_(x.ref_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -EntryRefType::EntryRefType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_name_(this), any_(this->getDomDocument()), - ref_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void EntryRefType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-name - // - if (n.name() == "display-name" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<DisplayNameType> r(DisplayNameTraits::create(i, f, this)); - - if (!this->display_name_) { - this->display_name_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "ref" && n.namespace_().empty()) { - this->ref_.set(RefTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!ref_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("ref", ""); - } -} - -EntryRefType *EntryRefType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class EntryRefType(*this, f, c); -} - -EntryRefType &EntryRefType::operator=(const EntryRefType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_name_ = x.display_name_; - this->any_ = x.any_; - this->ref_ = x.ref_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -EntryRefType::~EntryRefType() { -} - -// ExternalType -// - -ExternalType::ExternalType() - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(this), any_(this->getDomDocument()), anchor_(this), any_attribute_(this->getDomDocument()) { -} - -ExternalType::ExternalType(const ExternalType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - display_name_(x.display_name_, f, this), any_(x.any_, this->getDomDocument()), anchor_(x.anchor_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -ExternalType::ExternalType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), display_name_(this), any_(this->getDomDocument()), - anchor_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void ExternalType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // display-name - // - if (n.name() == "display-name" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<DisplayNameType> r(DisplayNameTraits::create(i, f, this)); - - if (!this->display_name_) { - this->display_name_.set(::std::move(r)); - continue; - } - } - - // any - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists")) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "anchor" && n.namespace_().empty()) { - this->anchor_.set(AnchorTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((!n.namespace_().empty() && n.namespace_() != "urn:ietf:params:xml:ns:resource-lists" && - n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } -} - -ExternalType *ExternalType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ExternalType(*this, f, c); -} - -ExternalType &ExternalType::operator=(const ExternalType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->display_name_ = x.display_name_; - this->any_ = x.any_; - this->anchor_ = x.anchor_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -ExternalType::~ExternalType() { -} - -// DisplayNameType -// - -DisplayNameType::DisplayNameType() : ::LinphonePrivate::Xsd::XmlSchema::String(), lang_(this) { -} - -DisplayNameType::DisplayNameType(const char *_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -DisplayNameType::DisplayNameType(const ::std::string &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -DisplayNameType::DisplayNameType(const ::LinphonePrivate::Xsd::XmlSchema::String &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -DisplayNameType::DisplayNameType(const DisplayNameType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(x, f, c), lang_(x.lang_, f, this) { -} - -DisplayNameType::DisplayNameType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), lang_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, false, false, true); - this->parse(p, f); - } -} - -void DisplayNameType::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "lang" && n.namespace_() == "http://www.w3.org/XML/1998/namespace") { - this->lang_.set(LangTraits::create(i, f, this)); - continue; - } - } -} - -DisplayNameType *DisplayNameType::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class DisplayNameType(*this, f, c); -} - -DisplayNameType &DisplayNameType::operator=(const DisplayNameType &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = x; - this->lang_ = x.lang_; - } - - return *this; -} - -DisplayNameType::~DisplayNameType() { -} - -// List -// - -List::List() : ::LinphonePrivate::Xsd::ResourceLists::ListType() { -} - -List::List(const List &x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::ResourceLists::ListType(x, f, c) { -} - -List::List(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::ResourceLists::ListType(e, f, c) { -} - -List *List::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class List(*this, f, c); -} - -List::~List() { -} - -// DisplayName -// - -DisplayName::DisplayName() : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType() { -} - -DisplayName::DisplayName(const char *_xsd_String_base) - : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType(_xsd_String_base) { -} - -DisplayName::DisplayName(const ::std::string &_xsd_String_base) - : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType(_xsd_String_base) { -} - -DisplayName::DisplayName(const ::LinphonePrivate::Xsd::XmlSchema::String &_xsd_String_base) - : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType(_xsd_String_base) { -} - -DisplayName::DisplayName(const DisplayName &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType(x, f, c) { -} - -DisplayName::DisplayName(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType(e, f, c) { -} - -DisplayName *DisplayName::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class DisplayName(*this, f, c); -} - -DisplayName::~DisplayName() { -} - -// ResourceLists -// - -ResourceLists::ResourceLists() : ::LinphonePrivate::Xsd::XmlSchema::Type(), list_(this) { -} - -ResourceLists::ResourceLists(const ResourceLists &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), list_(x.list_, f, this) { -} - -ResourceLists::ResourceLists(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), list_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, false); - this->parse(p, f); - } -} - -void ResourceLists::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // list - // - if (n.name() == "list" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<ListType> r(ListTraits::create(i, f, this)); - - this->list_.push_back(::std::move(r)); - continue; - } - - break; - } -} - -ResourceLists *ResourceLists::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class ResourceLists(*this, f, c); + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + list_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, false); + this->parse (p, f); + } + } + + void ResourceLists:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // list + // + if (n.name () == "list" && n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< ListType > r ( + ListTraits::create (i, f, this)); + + this->list_.push_back (::std::move (r)); + continue; + } + + break; + } + } + + ResourceLists* ResourceLists:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class ResourceLists (*this, f, c); + } + + ResourceLists& ResourceLists:: + operator= (const ResourceLists& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->list_ = x.list_; + } + + return *this; + } + + ResourceLists:: + ~ResourceLists () + { + } + } + } } -ResourceLists &ResourceLists::operator=(const ResourceLists &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->list_ = x.list_; - } - - return *this; -} - -ResourceLists::~ResourceLists() { -} -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate - #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -::std::ostream &operator<<(::std::ostream &o, const ListType &i) { - if (i.getDisplayName()) { - o << ::std::endl << "display-name: " << *i.getDisplayName(); - } - - for (ListType::ListConstIterator b(i.getList().begin()), e(i.getList().end()); b != e; ++b) { - o << ::std::endl << "list: " << *b; - } - - for (ListType::ExternalConstIterator b(i.getExternal().begin()), e(i.getExternal().end()); b != e; ++b) { - o << ::std::endl << "external: " << *b; - } - - for (ListType::EntryConstIterator b(i.getEntry().begin()), e(i.getEntry().end()); b != e; ++b) { - o << ::std::endl << "entry: " << *b; - } - - for (ListType::EntryRefConstIterator b(i.getEntryRef().begin()), e(i.getEntryRef().end()); b != e; ++b) { - o << ::std::endl << "entry-ref: " << *b; - } - - if (i.getName()) { - o << ::std::endl << "name: " << *i.getName(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const EntryType &i) { - if (i.getDisplayName()) { - o << ::std::endl << "display-name: " << *i.getDisplayName(); - } - - o << ::std::endl << "uri: " << i.getUri(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const EntryRefType &i) { - if (i.getDisplayName()) { - o << ::std::endl << "display-name: " << *i.getDisplayName(); - } - - o << ::std::endl << "ref: " << i.getRef(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ExternalType &i) { - if (i.getDisplayName()) { - o << ::std::endl << "display-name: " << *i.getDisplayName(); - } - - if (i.getAnchor()) { - o << ::std::endl << "anchor: " << *i.getAnchor(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const DisplayNameType &i) { - o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); - - if (i.getLang()) { - o << ::std::endl << "lang: " << *i.getLang(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const List &i) { - o << static_cast<const ::LinphonePrivate::Xsd::ResourceLists::ListType &>(i); - - return o; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + ::std::ostream& + operator<< (::std::ostream& o, const ListType& i) + { + if (i.getDisplayName ()) + { + o << ::std::endl << "display-name: " << *i.getDisplayName (); + } + + for (ListType::ListConstIterator + b (i.getList ().begin ()), e (i.getList ().end ()); + b != e; ++b) + { + o << ::std::endl << "list: " << *b; + } + + for (ListType::ExternalConstIterator + b (i.getExternal ().begin ()), e (i.getExternal ().end ()); + b != e; ++b) + { + o << ::std::endl << "external: " << *b; + } + + for (ListType::EntryConstIterator + b (i.getEntry ().begin ()), e (i.getEntry ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry: " << *b; + } + + for (ListType::EntryRefConstIterator + b (i.getEntryRef ().begin ()), e (i.getEntryRef ().end ()); + b != e; ++b) + { + o << ::std::endl << "entry-ref: " << *b; + } + + if (i.getName ()) + { + o << ::std::endl << "name: " << *i.getName (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const EntryType& i) + { + if (i.getDisplayName ()) + { + o << ::std::endl << "display-name: " << *i.getDisplayName (); + } + + o << ::std::endl << "uri: " << i.getUri (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const EntryRefType& i) + { + if (i.getDisplayName ()) + { + o << ::std::endl << "display-name: " << *i.getDisplayName (); + } + + o << ::std::endl << "ref: " << i.getRef (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ExternalType& i) + { + if (i.getDisplayName ()) + { + o << ::std::endl << "display-name: " << *i.getDisplayName (); + } + + if (i.getAnchor ()) + { + o << ::std::endl << "anchor: " << *i.getAnchor (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const DisplayNameType& i) + { + o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + + if (i.getLang ()) + { + o << ::std::endl << "lang: " << *i.getLang (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const List& i) + { + o << static_cast< const ::LinphonePrivate::Xsd::ResourceLists::ListType& > (i); + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const DisplayName& i) + { + o << static_cast< const ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType& > (i); + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const ResourceLists& i) + { + for (ResourceLists::ListConstIterator + b (i.getList ().begin ()), e (i.getList ().end ()); + b != e; ++b) + { + o << ::std::endl << "list: " << *b; + } + + return o; + } + } + } } -::std::ostream &operator<<(::std::ostream &o, const DisplayName &i) { - o << static_cast<const ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType &>(i); - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const ResourceLists &i) { - for (ResourceLists::ListConstIterator b(i.getList().begin()), e(i.getList().end()); b != e; ++b) { - o << ::std::endl << "list: " << *b; - } - - return o; -} -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate - #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists>( - ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "resource-lists" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ResourceLists::ResourceLists, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "resource-lists", - "urn:ietf:params:xml:ns:resource-lists"); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> -parseResourceLists(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); - - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); - - if (n.name() == "resource-lists" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - ::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::ResourceLists::ResourceLists, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "resource-lists", - "urn:ietf:params:xml:ns:resource-lists"); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > ( + ::LinphonePrivate::Xsd::ResourceLists::parseResourceLists ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "resource-lists" && + n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resource-lists", + "urn:ietf:params:xml:ns:resource-lists"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "resource-lists" && + n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resource-lists", + "urn:ietf:params:xml:ns:resource-lists"); + } + } + } } -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -1416,364 +1990,529 @@ parseResourceLists(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc: #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -void operator<<(::xercesc::DOMElement &e, const ListType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ListType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-name - // - if (i.getDisplayName()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-name", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *i.getDisplayName(); - } - - // list - // - for (ListType::ListConstIterator b(i.getList().begin()), n(i.getList().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("list", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *b; - } - - // external - // - for (ListType::ExternalConstIterator b(i.getExternal().begin()), n(i.getExternal().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("external", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *b; - } - - // entry - // - for (ListType::EntryConstIterator b(i.getEntry().begin()), n(i.getEntry().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *b; - } - - // entry-ref - // - for (ListType::EntryRefConstIterator b(i.getEntryRef().begin()), n(i.getEntryRef().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("entry-ref", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *b; - } - - // any - // - for (ListType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // name - // - if (i.getName()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("name", e)); - - a << *i.getName(); - } -} - -void operator<<(::xercesc::DOMElement &e, const EntryType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (EntryType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-name - // - if (i.getDisplayName()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-name", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *i.getDisplayName(); - } - - // any - // - for (EntryType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // uri - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("uri", e)); - - a << i.getUri(); - } -} - -void operator<<(::xercesc::DOMElement &e, const EntryRefType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (EntryRefType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-name - // - if (i.getDisplayName()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-name", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *i.getDisplayName(); - } - - // any - // - for (EntryRefType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // ref - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("ref", e)); - - a << i.getRef(); - } -} - -void operator<<(::xercesc::DOMElement &e, const ExternalType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (ExternalType::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // display-name - // - if (i.getDisplayName()) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("display-name", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *i.getDisplayName(); - } - - // any - // - for (ExternalType::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // anchor - // - if (i.getAnchor()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("anchor", e)); - - a << *i.getAnchor(); - } -} - -void serializeResourceLists(::std::ostream &o, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + void + operator<< (::xercesc::DOMElement& e, const ListType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ListType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-name + // + if (i.getDisplayName ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-name", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *i.getDisplayName (); + } + + // list + // + for (ListType::ListConstIterator + b (i.getList ().begin ()), n (i.getList ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "list", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *b; + } + + // external + // + for (ListType::ExternalConstIterator + b (i.getExternal ().begin ()), n (i.getExternal ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "external", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *b; + } + + // entry + // + for (ListType::EntryConstIterator + b (i.getEntry ().begin ()), n (i.getEntry ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *b; + } + + // entry-ref + // + for (ListType::EntryRefConstIterator + b (i.getEntryRef ().begin ()), n (i.getEntryRef ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry-ref", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *b; + } + + // any + // + for (ListType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // name + // + if (i.getName ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "name", + e)); + + a << *i.getName (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const EntryType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (EntryType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-name + // + if (i.getDisplayName ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-name", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *i.getDisplayName (); + } + + // any + // + for (EntryType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // uri + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "uri", + e)); + + a << i.getUri (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const EntryRefType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (EntryRefType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-name + // + if (i.getDisplayName ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-name", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *i.getDisplayName (); + } + + // any + // + for (EntryRefType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // ref + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "ref", + e)); + + a << i.getRef (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const ExternalType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (ExternalType::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // display-name + // + if (i.getDisplayName ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "display-name", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *i.getDisplayName (); + } + + // any + // + for (ExternalType::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // anchor + // + if (i.getAnchor ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "anchor", + e)); + + a << *i.getAnchor (); + } + } + + void + serializeResourceLists (::std::ostream& o, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeResourceLists (::std::ostream& o, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeResourceLists (::std::ostream& o, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeResourceLists (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeResourceLists (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeResourceLists (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeResourceLists (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "resource-lists" && + n.namespace_ () == "urn:ietf:params:xml:ns:resource-lists") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resource-lists", + "urn:ietf:params:xml:ns:resource-lists"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeResourceLists (const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "resource-lists", + "urn:ietf:params:xml:ns:resource-lists", + m, f)); + + ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const DisplayNameType& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + + // lang + // + if (i.getLang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.getLang (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const List& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::ResourceLists::ListType& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const DisplayName& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const ResourceLists& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // list + // + for (ResourceLists::ListConstIterator + b (i.getList ().begin ()), n (i.getList ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "list", + "urn:ietf:params:xml:ns:resource-lists", + e)); + + s << *b; + } + } + } + } } -void serializeResourceLists(::std::ostream &o, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeResourceLists(::std::ostream &o, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeResourceLists(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeResourceLists(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeResourceLists(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeResourceLists(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "resource-lists" && n.namespace_() == "urn:ietf:params:xml:ns:resource-lists") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "resource-lists", - "urn:ietf:params:xml:ns:resource-lists"); - } -} - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeResourceLists(const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("resource-lists", "urn:ietf:params:xml:ns:resource-lists", m, f)); - - ::LinphonePrivate::Xsd::ResourceLists::serializeResourceLists(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const DisplayNameType &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); - - // lang - // - if (i.getLang()) { - ::xercesc::DOMAttr &a( - ::xsd::cxx::xml::dom::create_attribute("lang", "http://www.w3.org/XML/1998/namespace", e)); - - a << *i.getLang(); - } -} - -void operator<<(::xercesc::DOMElement &e, const List &i) { - e << static_cast<const ::LinphonePrivate::Xsd::ResourceLists::ListType &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const DisplayName &i) { - e << static_cast<const ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const ResourceLists &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // list - // - for (ResourceLists::ListConstIterator b(i.getList().begin()), n(i.getList().end()); b != n; ++b) { - ::xercesc::DOMElement &s( - ::xsd::cxx::xml::dom::create_element("list", "urn:ietf:params:xml:ns:resource-lists", e)); - - s << *b; - } -} -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/resource-lists.h b/src/xml/resource-lists.h index 7b955e443e..4703aac901 100644 --- a/src/xml/resource-lists.h +++ b/src/xml/resource-lists.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,219 +71,227 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -class ListType; -class EntryType; -class EntryRefType; -class ExternalType; -class DisplayNameType; -class List; -class DisplayName; -class ResourceLists; -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + class ListType; + class EntryType; + class EntryRefType; + class ExternalType; + class DisplayNameType; + class List; + class DisplayName; + class ResourceLists; + } + } +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> @@ -292,728 +300,879 @@ class ResourceLists; #include "xml.h" -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -class ListType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-name - // - typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; - typedef ::xsd::cxx::tree::optional<DisplayNameType> DisplayNameOptional; - typedef ::xsd::cxx::tree::traits<DisplayNameType, char> DisplayNameTraits; - - const DisplayNameOptional &getDisplayName() const; - - DisplayNameOptional &getDisplayName(); - - void setDisplayName(const DisplayNameType &x); - - void setDisplayName(const DisplayNameOptional &x); - - void setDisplayName(::std::unique_ptr<DisplayNameType> p); - - // list - // - typedef ::LinphonePrivate::Xsd::ResourceLists::List ListType1; - typedef ::xsd::cxx::tree::sequence<ListType1> ListSequence; - typedef ListSequence::iterator ListIterator; - typedef ListSequence::const_iterator ListConstIterator; - typedef ::xsd::cxx::tree::traits<ListType1, char> ListTraits; - - const ListSequence &getList() const; - - ListSequence &getList(); - - void setList(const ListSequence &s); - - // external - // - typedef ::LinphonePrivate::Xsd::ResourceLists::ExternalType ExternalType; - typedef ::xsd::cxx::tree::sequence<ExternalType> ExternalSequence; - typedef ExternalSequence::iterator ExternalIterator; - typedef ExternalSequence::const_iterator ExternalConstIterator; - typedef ::xsd::cxx::tree::traits<ExternalType, char> ExternalTraits; - - const ExternalSequence &getExternal() const; - - ExternalSequence &getExternal(); - - void setExternal(const ExternalSequence &s); - - // entry - // - typedef ::LinphonePrivate::Xsd::ResourceLists::EntryType EntryType; - typedef ::xsd::cxx::tree::sequence<EntryType> EntrySequence; - typedef EntrySequence::iterator EntryIterator; - typedef EntrySequence::const_iterator EntryConstIterator; - typedef ::xsd::cxx::tree::traits<EntryType, char> EntryTraits; - - const EntrySequence &getEntry() const; - - EntrySequence &getEntry(); - - void setEntry(const EntrySequence &s); - - // entry-ref - // - typedef ::LinphonePrivate::Xsd::ResourceLists::EntryRefType EntryRefType; - typedef ::xsd::cxx::tree::sequence<EntryRefType> EntryRefSequence; - typedef EntryRefSequence::iterator EntryRefIterator; - typedef EntryRefSequence::const_iterator EntryRefConstIterator; - typedef ::xsd::cxx::tree::traits<EntryRefType, char> EntryRefTraits; - - const EntryRefSequence &getEntryRef() const; - - EntryRefSequence &getEntryRef(); - - void setEntryRef(const EntryRefSequence &s); - - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; - - const AnySequence &getAny() const; - - AnySequence &getAny(); - - void setAny(const AnySequence &s); - - // name - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String NameType; - typedef ::xsd::cxx::tree::optional<NameType> NameOptional; - typedef ::xsd::cxx::tree::traits<NameType, char> NameTraits; - - const NameOptional &getName() const; - - NameOptional &getName(); - - void setName(const NameType &x); - - void setName(const NameOptional &x); - - void setName(::std::unique_ptr<NameType> p); - - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - - const AnyAttributeSet &getAnyAttribute() const; - - AnyAttributeSet &getAnyAttribute(); - - void setAnyAttribute(const AnyAttributeSet &s); - - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; - - ::xercesc::DOMDocument &getDomDocument(); - - // Constructors. - // - ListType(); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + class ListType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-name + // + typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; + typedef ::xsd::cxx::tree::optional< DisplayNameType > DisplayNameOptional; + typedef ::xsd::cxx::tree::traits< DisplayNameType, char > DisplayNameTraits; + + const DisplayNameOptional& + getDisplayName () const; + + DisplayNameOptional& + getDisplayName (); + + void + setDisplayName (const DisplayNameType& x); + + void + setDisplayName (const DisplayNameOptional& x); + + void + setDisplayName (::std::unique_ptr< DisplayNameType > p); + + // list + // + typedef ::LinphonePrivate::Xsd::ResourceLists::List ListType1; + typedef ::xsd::cxx::tree::sequence< ListType1 > ListSequence; + typedef ListSequence::iterator ListIterator; + typedef ListSequence::const_iterator ListConstIterator; + typedef ::xsd::cxx::tree::traits< ListType1, char > ListTraits; + + const ListSequence& + getList () const; + + ListSequence& + getList (); + + void + setList (const ListSequence& s); + + // external + // + typedef ::LinphonePrivate::Xsd::ResourceLists::ExternalType ExternalType; + typedef ::xsd::cxx::tree::sequence< ExternalType > ExternalSequence; + typedef ExternalSequence::iterator ExternalIterator; + typedef ExternalSequence::const_iterator ExternalConstIterator; + typedef ::xsd::cxx::tree::traits< ExternalType, char > ExternalTraits; + + const ExternalSequence& + getExternal () const; - ListType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ExternalSequence& + getExternal (); - ListType(const ListType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setExternal (const ExternalSequence& s); + + // entry + // + typedef ::LinphonePrivate::Xsd::ResourceLists::EntryType EntryType; + typedef ::xsd::cxx::tree::sequence< EntryType > EntrySequence; + typedef EntrySequence::iterator EntryIterator; + typedef EntrySequence::const_iterator EntryConstIterator; + typedef ::xsd::cxx::tree::traits< EntryType, char > EntryTraits; + + const EntrySequence& + getEntry () const; + + EntrySequence& + getEntry (); - virtual ListType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setEntry (const EntrySequence& s); - ListType &operator=(const ListType &x); + // entry-ref + // + typedef ::LinphonePrivate::Xsd::ResourceLists::EntryRefType EntryRefType; + typedef ::xsd::cxx::tree::sequence< EntryRefType > EntryRefSequence; + typedef EntryRefSequence::iterator EntryRefIterator; + typedef EntryRefSequence::const_iterator EntryRefConstIterator; + typedef ::xsd::cxx::tree::traits< EntryRefType, char > EntryRefTraits; - virtual ~ListType(); + const EntryRefSequence& + getEntryRef () const; + + EntryRefSequence& + getEntryRef (); + + void + setEntryRef (const EntryRefSequence& s); + + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; + + const AnySequence& + getAny () const; + + AnySequence& + getAny (); + + void + setAny (const AnySequence& s); + + // name + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String NameType; + typedef ::xsd::cxx::tree::optional< NameType > NameOptional; + typedef ::xsd::cxx::tree::traits< NameType, char > NameTraits; + + const NameOptional& + getName () const; + + NameOptional& + getName (); + + void + setName (const NameType& x); + + void + setName (const NameOptional& x); + + void + setName (::std::unique_ptr< NameType > p); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + const AnyAttributeSet& + getAnyAttribute () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + AnyAttributeSet& + getAnyAttribute (); - DisplayNameOptional display_name_; - ListSequence list_; - ExternalSequence external_; - EntrySequence entry_; - EntryRefSequence entry_ref_; - AnySequence any_; - NameOptional name_; - AnyAttributeSet any_attribute_; -}; + void + setAnyAttribute (const AnyAttributeSet& s); -class EntryType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-name - // - typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayName DisplayNameType; - typedef ::xsd::cxx::tree::optional<DisplayNameType> DisplayNameOptional; - typedef ::xsd::cxx::tree::traits<DisplayNameType, char> DisplayNameTraits; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - const DisplayNameOptional &getDisplayName() const; + ::xercesc::DOMDocument& + getDomDocument (); - DisplayNameOptional &getDisplayName(); + // Constructors. + // + ListType (); - void setDisplayName(const DisplayNameType &x); + ListType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setDisplayName(const DisplayNameOptional &x); + ListType (const ListType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setDisplayName(::std::unique_ptr<DisplayNameType> p); + virtual ListType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + ListType& + operator= (const ListType& x); - const AnySequence &getAny() const; + virtual + ~ListType (); - AnySequence &getAny(); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - void setAny(const AnySequence &s); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - // uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; - typedef ::xsd::cxx::tree::traits<UriType, char> UriTraits; + DisplayNameOptional display_name_; + ListSequence list_; + ExternalSequence external_; + EntrySequence entry_; + EntryRefSequence entry_ref_; + AnySequence any_; + NameOptional name_; + AnyAttributeSet any_attribute_; + }; - const UriType &getUri() const; + class EntryType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-name + // + typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayName DisplayNameType; + typedef ::xsd::cxx::tree::optional< DisplayNameType > DisplayNameOptional; + typedef ::xsd::cxx::tree::traits< DisplayNameType, char > DisplayNameTraits; - UriType &getUri(); + const DisplayNameOptional& + getDisplayName () const; - void setUri(const UriType &x); + DisplayNameOptional& + getDisplayName (); - void setUri(::std::unique_ptr<UriType> p); + void + setDisplayName (const DisplayNameType& x); - ::std::unique_ptr<UriType> setDetachUri(); + void + setDisplayName (const DisplayNameOptional& x); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + void + setDisplayName (::std::unique_ptr< DisplayNameType > p); - const AnyAttributeSet &getAnyAttribute() const; + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; + + const AnySequence& + getAny () const; + + AnySequence& + getAny (); + + void + setAny (const AnySequence& s); - AnyAttributeSet &getAnyAttribute(); + // uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; + typedef ::xsd::cxx::tree::traits< UriType, char > UriTraits; - void setAnyAttribute(const AnyAttributeSet &s); + const UriType& + getUri () const; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + UriType& + getUri (); - ::xercesc::DOMDocument &getDomDocument(); + void + setUri (const UriType& x); - // Constructors. - // - EntryType(const UriType &); + void + setUri (::std::unique_ptr< UriType > p); - EntryType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ::std::unique_ptr< UriType > + setDetachUri (); - EntryType(const EntryType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - virtual EntryType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + const AnyAttributeSet& + getAnyAttribute () const; - EntryType &operator=(const EntryType &x); + AnyAttributeSet& + getAnyAttribute (); - virtual ~EntryType(); + void + setAnyAttribute (const AnyAttributeSet& s); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + ::xercesc::DOMDocument& + getDomDocument (); - DisplayNameOptional display_name_; - AnySequence any_; - ::xsd::cxx::tree::one<UriType> uri_; - AnyAttributeSet any_attribute_; -}; + // Constructors. + // + EntryType (const UriType&); -class EntryRefType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-name - // - typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; - typedef ::xsd::cxx::tree::optional<DisplayNameType> DisplayNameOptional; - typedef ::xsd::cxx::tree::traits<DisplayNameType, char> DisplayNameTraits; + EntryType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const DisplayNameOptional &getDisplayName() const; + EntryType (const EntryType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - DisplayNameOptional &getDisplayName(); + virtual EntryType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setDisplayName(const DisplayNameType &x); + EntryType& + operator= (const EntryType& x); - void setDisplayName(const DisplayNameOptional &x); + virtual + ~EntryType (); - void setDisplayName(::std::unique_ptr<DisplayNameType> p); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - const AnySequence &getAny() const; + DisplayNameOptional display_name_; + AnySequence any_; + ::xsd::cxx::tree::one< UriType > uri_; + AnyAttributeSet any_attribute_; + }; - AnySequence &getAny(); + class EntryRefType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-name + // + typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; + typedef ::xsd::cxx::tree::optional< DisplayNameType > DisplayNameOptional; + typedef ::xsd::cxx::tree::traits< DisplayNameType, char > DisplayNameTraits; - void setAny(const AnySequence &s); + const DisplayNameOptional& + getDisplayName () const; - // ref - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri RefType; - typedef ::xsd::cxx::tree::traits<RefType, char> RefTraits; + DisplayNameOptional& + getDisplayName (); - const RefType &getRef() const; + void + setDisplayName (const DisplayNameType& x); - RefType &getRef(); + void + setDisplayName (const DisplayNameOptional& x); - void setRef(const RefType &x); + void + setDisplayName (::std::unique_ptr< DisplayNameType > p); - void setRef(::std::unique_ptr<RefType> p); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - ::std::unique_ptr<RefType> setDetachRef(); + const AnySequence& + getAny () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + AnySequence& + getAny (); - const AnyAttributeSet &getAnyAttribute() const; + void + setAny (const AnySequence& s); - AnyAttributeSet &getAnyAttribute(); + // ref + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri RefType; + typedef ::xsd::cxx::tree::traits< RefType, char > RefTraits; - void setAnyAttribute(const AnyAttributeSet &s); + const RefType& + getRef () const; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + RefType& + getRef (); - ::xercesc::DOMDocument &getDomDocument(); + void + setRef (const RefType& x); - // Constructors. - // - EntryRefType(const RefType &); + void + setRef (::std::unique_ptr< RefType > p); - EntryRefType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + ::std::unique_ptr< RefType > + setDetachRef (); - EntryRefType(const EntryRefType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - virtual EntryRefType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + const AnyAttributeSet& + getAnyAttribute () const; - EntryRefType &operator=(const EntryRefType &x); + AnyAttributeSet& + getAnyAttribute (); - virtual ~EntryRefType(); + void + setAnyAttribute (const AnyAttributeSet& s); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + ::xercesc::DOMDocument& + getDomDocument (); - DisplayNameOptional display_name_; - AnySequence any_; - ::xsd::cxx::tree::one<RefType> ref_; - AnyAttributeSet any_attribute_; -}; + // Constructors. + // + EntryRefType (const RefType&); -class ExternalType : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // display-name - // - typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; - typedef ::xsd::cxx::tree::optional<DisplayNameType> DisplayNameOptional; - typedef ::xsd::cxx::tree::traits<DisplayNameType, char> DisplayNameTraits; + EntryRefType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const DisplayNameOptional &getDisplayName() const; + EntryRefType (const EntryRefType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - DisplayNameOptional &getDisplayName(); + virtual EntryRefType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setDisplayName(const DisplayNameType &x); + EntryRefType& + operator= (const EntryRefType& x); - void setDisplayName(const DisplayNameOptional &x); + virtual + ~EntryRefType (); - void setDisplayName(::std::unique_ptr<DisplayNameType> p); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - const AnySequence &getAny() const; + DisplayNameOptional display_name_; + AnySequence any_; + ::xsd::cxx::tree::one< RefType > ref_; + AnyAttributeSet any_attribute_; + }; - AnySequence &getAny(); + class ExternalType: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // display-name + // + typedef ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType DisplayNameType; + typedef ::xsd::cxx::tree::optional< DisplayNameType > DisplayNameOptional; + typedef ::xsd::cxx::tree::traits< DisplayNameType, char > DisplayNameTraits; - void setAny(const AnySequence &s); + const DisplayNameOptional& + getDisplayName () const; - // anchor - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri AnchorType; - typedef ::xsd::cxx::tree::optional<AnchorType> AnchorOptional; - typedef ::xsd::cxx::tree::traits<AnchorType, char> AnchorTraits; + DisplayNameOptional& + getDisplayName (); - const AnchorOptional &getAnchor() const; + void + setDisplayName (const DisplayNameType& x); - AnchorOptional &getAnchor(); + void + setDisplayName (const DisplayNameOptional& x); - void setAnchor(const AnchorType &x); + void + setDisplayName (::std::unique_ptr< DisplayNameType > p); - void setAnchor(const AnchorOptional &x); + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; - void setAnchor(::std::unique_ptr<AnchorType> p); + const AnySequence& + getAny () const; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + AnySequence& + getAny (); - const AnyAttributeSet &getAnyAttribute() const; + void + setAny (const AnySequence& s); - AnyAttributeSet &getAnyAttribute(); + // anchor + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri AnchorType; + typedef ::xsd::cxx::tree::optional< AnchorType > AnchorOptional; + typedef ::xsd::cxx::tree::traits< AnchorType, char > AnchorTraits; - void setAnyAttribute(const AnyAttributeSet &s); + const AnchorOptional& + getAnchor () const; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + AnchorOptional& + getAnchor (); - ::xercesc::DOMDocument &getDomDocument(); + void + setAnchor (const AnchorType& x); - // Constructors. - // - ExternalType(); + void + setAnchor (const AnchorOptional& x); - ExternalType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setAnchor (::std::unique_ptr< AnchorType > p); - ExternalType(const ExternalType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - virtual ExternalType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + const AnyAttributeSet& + getAnyAttribute () const; - ExternalType &operator=(const ExternalType &x); + AnyAttributeSet& + getAnyAttribute (); - virtual ~ExternalType(); + void + setAnyAttribute (const AnyAttributeSet& s); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + ::xercesc::DOMDocument& + getDomDocument (); - DisplayNameOptional display_name_; - AnySequence any_; - AnchorOptional anchor_; - AnyAttributeSet any_attribute_; -}; + // Constructors. + // + ExternalType (); -class DisplayNameType : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - // lang - // - typedef ::namespace_::Lang LangType; - typedef ::xsd::cxx::tree::optional<LangType> LangOptional; - typedef ::xsd::cxx::tree::traits<LangType, char> LangTraits; + ExternalType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const LangOptional &getLang() const; + ExternalType (const ExternalType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - LangOptional &getLang(); + virtual ExternalType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setLang(const LangType &x); + ExternalType& + operator= (const ExternalType& x); - void setLang(const LangOptional &x); + virtual + ~ExternalType (); - void setLang(::std::unique_ptr<LangType> p); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - // Constructors. - // - DisplayNameType(); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - DisplayNameType(const char *); + DisplayNameOptional display_name_; + AnySequence any_; + AnchorOptional anchor_; + AnyAttributeSet any_attribute_; + }; - DisplayNameType(const ::std::string &); + class DisplayNameType: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + // lang + // + typedef ::namespace_::Lang LangType; + typedef ::xsd::cxx::tree::optional< LangType > LangOptional; + typedef ::xsd::cxx::tree::traits< LangType, char > LangTraits; - DisplayNameType(const ::LinphonePrivate::Xsd::XmlSchema::String &); + const LangOptional& + getLang () const; - DisplayNameType(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + LangOptional& + getLang (); - DisplayNameType(const DisplayNameType &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + void + setLang (const LangType& x); - virtual DisplayNameType *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + void + setLang (const LangOptional& x); - DisplayNameType &operator=(const DisplayNameType &x); + void + setLang (::std::unique_ptr< LangType > p); - virtual ~DisplayNameType(); + // Constructors. + // + DisplayNameType (); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + DisplayNameType (const char*); -protected: - LangOptional lang_; -}; + DisplayNameType (const ::std::string&); -class List : public ::LinphonePrivate::Xsd::ResourceLists::ListType { -public: - // Constructors. - // - List(); + DisplayNameType (const ::LinphonePrivate::Xsd::XmlSchema::String&); - List(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DisplayNameType (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - List(const List &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DisplayNameType (const DisplayNameType& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual List *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual DisplayNameType* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - virtual ~List(); -}; + DisplayNameType& + operator= (const DisplayNameType& x); -class DisplayName : public ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType { -public: - // Constructors. - // - DisplayName(); + virtual + ~DisplayNameType (); - DisplayName(const char *); + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - DisplayName(const ::std::string &); + protected: + LangOptional lang_; + }; + + class List: public ::LinphonePrivate::Xsd::ResourceLists::ListType + { + public: + // Constructors. + // + List (); + + List (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - DisplayName(const ::LinphonePrivate::Xsd::XmlSchema::String &); + List (const List& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - DisplayName(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual List* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + virtual + ~List (); + }; + + class DisplayName: public ::LinphonePrivate::Xsd::ResourceLists::DisplayNameType + { + public: + // Constructors. + // + DisplayName (); - DisplayName(const DisplayName &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + DisplayName (const char*); + + DisplayName (const ::std::string&); - virtual DisplayName *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + DisplayName (const ::LinphonePrivate::Xsd::XmlSchema::String&); - virtual ~DisplayName(); -}; + DisplayName (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); -class ResourceLists : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // list - // - typedef ::LinphonePrivate::Xsd::ResourceLists::ListType ListType; - typedef ::xsd::cxx::tree::sequence<ListType> ListSequence; - typedef ListSequence::iterator ListIterator; - typedef ListSequence::const_iterator ListConstIterator; - typedef ::xsd::cxx::tree::traits<ListType, char> ListTraits; + DisplayName (const DisplayName& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - const ListSequence &getList() const; + virtual DisplayName* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - ListSequence &getList(); + virtual + ~DisplayName (); + }; - void setList(const ListSequence &s); + class ResourceLists: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // list + // + typedef ::LinphonePrivate::Xsd::ResourceLists::ListType ListType; + typedef ::xsd::cxx::tree::sequence< ListType > ListSequence; + typedef ListSequence::iterator ListIterator; + typedef ListSequence::const_iterator ListConstIterator; + typedef ::xsd::cxx::tree::traits< ListType, char > ListTraits; - // Constructors. - // - ResourceLists(); + const ListSequence& + getList () const; - ResourceLists(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - ResourceLists(const ResourceLists &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); - - virtual ResourceLists *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - ResourceLists &operator=(const ResourceLists &x); - - virtual ~ResourceLists(); - - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); - -protected: - ListSequence list_; -}; -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate + ListSequence& + getList (); + + void + setList (const ListSequence& s); + + // Constructors. + // + ResourceLists (); + + ResourceLists (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + ResourceLists (const ResourceLists& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); + + virtual ResourceLists* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + + ResourceLists& + operator= (const ResourceLists& x); + + virtual + ~ResourceLists (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); + + protected: + ListSequence list_; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -::std::ostream &operator<<(::std::ostream &, const ListType &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + ::std::ostream& + operator<< (::std::ostream&, const ListType&); -::std::ostream &operator<<(::std::ostream &, const EntryType &); + ::std::ostream& + operator<< (::std::ostream&, const EntryType&); -::std::ostream &operator<<(::std::ostream &, const EntryRefType &); + ::std::ostream& + operator<< (::std::ostream&, const EntryRefType&); -::std::ostream &operator<<(::std::ostream &, const ExternalType &); + ::std::ostream& + operator<< (::std::ostream&, const ExternalType&); -::std::ostream &operator<<(::std::ostream &, const DisplayNameType &); + ::std::ostream& + operator<< (::std::ostream&, const DisplayNameType&); -::std::ostream &operator<<(::std::ostream &, const List &); + ::std::ostream& + operator<< (::std::ostream&, const List&); -::std::ostream &operator<<(::std::ostream &, const DisplayName &); + ::std::ostream& + operator<< (::std::ostream&, const DisplayName&); -::std::ostream &operator<<(::std::ostream &, const ResourceLists &); -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate + ::std::ostream& + operator<< (::std::ostream&, const ResourceLists&); + } + } +} #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -// Parse a URI or a local file. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::ResourceLists::ResourceLists> parseResourceLists( - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::ResourceLists::ResourceLists > + parseResourceLists (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -1023,108 +1182,119 @@ namespace ResourceLists { #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace ResourceLists { -void operator<<(::xercesc::DOMElement &, const ListType &); - -void operator<<(::xercesc::DOMElement &, const EntryType &); - -void operator<<(::xercesc::DOMElement &, const EntryRefType &); - -void operator<<(::xercesc::DOMElement &, const ExternalType &); - -// Serialize to std::ostream. -// - -void serializeResourceLists(::std::ostream &os, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeResourceLists(::std::ostream &os, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeResourceLists(::std::ostream &os, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// - -void serializeResourceLists(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeResourceLists(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeResourceLists(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// - -void serializeResourceLists(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to a new xercesc::DOMDocument. -// - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeResourceLists(const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void operator<<(::xercesc::DOMElement &, const DisplayNameType &); - -void operator<<(::xercesc::DOMElement &, const List &); - -void operator<<(::xercesc::DOMElement &, const DisplayName &); - -void operator<<(::xercesc::DOMElement &, const ResourceLists &); -} // namespace ResourceLists -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace ResourceLists + { + void + operator<< (::xercesc::DOMElement&, const ListType&); + + void + operator<< (::xercesc::DOMElement&, const EntryType&); + + void + operator<< (::xercesc::DOMElement&, const EntryRefType&); + + void + operator<< (::xercesc::DOMElement&, const ExternalType&); + + // Serialize to std::ostream. + // + + void + serializeResourceLists (::std::ostream& os, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeResourceLists (::std::ostream& os, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeResourceLists (::std::ostream& os, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeResourceLists (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeResourceLists (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeResourceLists (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeResourceLists (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeResourceLists (const ::LinphonePrivate::Xsd::ResourceLists::ResourceLists& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const DisplayNameType&); + + void + operator<< (::xercesc::DOMElement&, const List&); + + void + operator<< (::xercesc::DOMElement&, const DisplayName&); + + void + operator<< (::xercesc::DOMElement&, const ResourceLists&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/rlmi.cpp b/src/xml/rlmi.cpp index b00ba20a8e..801627f20f 100644 --- a/src/xml/rlmi.cpp +++ b/src/xml/rlmi.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,355 +41,530 @@ #include "rlmi.h" -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -// List -// - -const List::NameSequence &List::getName() const { - return this->name_; -} - -List::NameSequence &List::getName() { - return this->name_; -} - -void List::setName(const NameSequence &s) { - this->name_ = s; -} - -const List::ResourceSequence &List::getResource() const { - return this->resource_; -} - -List::ResourceSequence &List::getResource() { - return this->resource_; -} - -void List::setResource(const ResourceSequence &s) { - this->resource_ = s; -} - -const List::UriType &List::getUri() const { - return this->uri_.get(); -} - -List::UriType &List::getUri() { - return this->uri_.get(); -} - -void List::setUri(const UriType &x) { - this->uri_.set(x); -} - -void List::setUri(::std::unique_ptr<UriType> x) { - this->uri_.set(std::move(x)); -} - -::std::unique_ptr<List::UriType> List::setDetachUri() { - return this->uri_.detach(); -} - -const List::VersionType &List::getVersion() const { - return this->version_.get(); -} - -List::VersionType &List::getVersion() { - return this->version_.get(); -} - -void List::setVersion(const VersionType &x) { - this->version_.set(x); -} - -const List::FullStateType &List::getFullState() const { - return this->fullState_.get(); -} - -List::FullStateType &List::getFullState() { - return this->fullState_.get(); -} - -void List::setFullState(const FullStateType &x) { - this->fullState_.set(x); -} - -const List::CidOptional &List::getCid() const { - return this->cid_; -} - -List::CidOptional &List::getCid() { - return this->cid_; -} - -void List::setCid(const CidType &x) { - this->cid_.set(x); -} - -void List::setCid(const CidOptional &x) { - this->cid_ = x; -} - -void List::setCid(::std::unique_ptr<CidType> x) { - this->cid_.set(std::move(x)); -} - -const List::AnyAttributeSet &List::getAnyAttribute() const { - return this->any_attribute_; -} - -List::AnyAttributeSet &List::getAnyAttribute() { - return this->any_attribute_; -} - -void List::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &List::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &List::getDomDocument() { - return *this->dom_document_; -} - -// Resource -// - -const Resource::NameSequence &Resource::getName() const { - return this->name_; -} - -Resource::NameSequence &Resource::getName() { - return this->name_; -} - -void Resource::setName(const NameSequence &s) { - this->name_ = s; -} - -const Resource::InstanceSequence &Resource::getInstance() const { - return this->instance_; -} - -Resource::InstanceSequence &Resource::getInstance() { - return this->instance_; -} - -void Resource::setInstance(const InstanceSequence &s) { - this->instance_ = s; -} - -const Resource::UriType &Resource::getUri() const { - return this->uri_.get(); -} - -Resource::UriType &Resource::getUri() { - return this->uri_.get(); -} - -void Resource::setUri(const UriType &x) { - this->uri_.set(x); -} - -void Resource::setUri(::std::unique_ptr<UriType> x) { - this->uri_.set(std::move(x)); -} - -::std::unique_ptr<Resource::UriType> Resource::setDetachUri() { - return this->uri_.detach(); -} - -const Resource::AnyAttributeSet &Resource::getAnyAttribute() const { - return this->any_attribute_; -} - -Resource::AnyAttributeSet &Resource::getAnyAttribute() { - return this->any_attribute_; -} - -void Resource::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &Resource::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Resource::getDomDocument() { - return *this->dom_document_; -} - -// Instance -// - -const Instance::AnySequence &Instance::getAny() const { - return this->any_; -} - -Instance::AnySequence &Instance::getAny() { - return this->any_; -} - -void Instance::setAny(const AnySequence &s) { - this->any_ = s; -} - -const Instance::IdType &Instance::getId() const { - return this->id_.get(); -} - -Instance::IdType &Instance::getId() { - return this->id_.get(); -} - -void Instance::setId(const IdType &x) { - this->id_.set(x); -} - -void Instance::setId(::std::unique_ptr<IdType> x) { - this->id_.set(std::move(x)); -} - -::std::unique_ptr<Instance::IdType> Instance::setDetachId() { - return this->id_.detach(); -} - -const Instance::StateType &Instance::getState() const { - return this->state_.get(); -} - -Instance::StateType &Instance::getState() { - return this->state_.get(); -} - -void Instance::setState(const StateType &x) { - this->state_.set(x); -} - -void Instance::setState(::std::unique_ptr<StateType> x) { - this->state_.set(std::move(x)); -} - -::std::unique_ptr<Instance::StateType> Instance::setDetachState() { - return this->state_.detach(); -} - -const Instance::ReasonOptional &Instance::getReason() const { - return this->reason_; -} - -Instance::ReasonOptional &Instance::getReason() { - return this->reason_; -} - -void Instance::setReason(const ReasonType &x) { - this->reason_.set(x); -} - -void Instance::setReason(const ReasonOptional &x) { - this->reason_ = x; -} - -void Instance::setReason(::std::unique_ptr<ReasonType> x) { - this->reason_.set(std::move(x)); -} - -const Instance::CidOptional &Instance::getCid() const { - return this->cid_; -} - -Instance::CidOptional &Instance::getCid() { - return this->cid_; -} - -void Instance::setCid(const CidType &x) { - this->cid_.set(x); -} - -void Instance::setCid(const CidOptional &x) { - this->cid_ = x; -} - -void Instance::setCid(::std::unique_ptr<CidType> x) { - this->cid_.set(std::move(x)); -} - -const Instance::AnyAttributeSet &Instance::getAnyAttribute() const { - return this->any_attribute_; -} - -Instance::AnyAttributeSet &Instance::getAnyAttribute() { - return this->any_attribute_; -} - -void Instance::setAnyAttribute(const AnyAttributeSet &s) { - this->any_attribute_ = s; -} - -const ::xercesc::DOMDocument &Instance::getDomDocument() const { - return *this->dom_document_; -} - -::xercesc::DOMDocument &Instance::getDomDocument() { - return *this->dom_document_; -} - -// Name -// - -const Name::LangOptional &Name::getLang() const { - return this->lang_; -} - -Name::LangOptional &Name::getLang() { - return this->lang_; -} - -void Name::setLang(const LangType &x) { - this->lang_.set(x); -} - -void Name::setLang(const LangOptional &x) { - this->lang_ = x; -} - -void Name::setLang(::std::unique_ptr<LangType> x) { - this->lang_.set(std::move(x)); -} - -// State -// - -State::State(Value v) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_State_literals_[v]) { -} - -State::State(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -State::State(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -State::State(const ::LinphonePrivate::Xsd::XmlSchema::String &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -State::State(const State &v, +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + // List + // + + const List::NameSequence& List:: + getName () const + { + return this->name_; + } + + List::NameSequence& List:: + getName () + { + return this->name_; + } + + void List:: + setName (const NameSequence& s) + { + this->name_ = s; + } + + const List::ResourceSequence& List:: + getResource () const + { + return this->resource_; + } + + List::ResourceSequence& List:: + getResource () + { + return this->resource_; + } + + void List:: + setResource (const ResourceSequence& s) + { + this->resource_ = s; + } + + const List::UriType& List:: + getUri () const + { + return this->uri_.get (); + } + + List::UriType& List:: + getUri () + { + return this->uri_.get (); + } + + void List:: + setUri (const UriType& x) + { + this->uri_.set (x); + } + + void List:: + setUri (::std::unique_ptr< UriType > x) + { + this->uri_.set (std::move (x)); + } + + ::std::unique_ptr< List::UriType > List:: + setDetachUri () + { + return this->uri_.detach (); + } + + const List::VersionType& List:: + getVersion () const + { + return this->version_.get (); + } + + List::VersionType& List:: + getVersion () + { + return this->version_.get (); + } + + void List:: + setVersion (const VersionType& x) + { + this->version_.set (x); + } + + const List::FullStateType& List:: + getFullState () const + { + return this->fullState_.get (); + } + + List::FullStateType& List:: + getFullState () + { + return this->fullState_.get (); + } + + void List:: + setFullState (const FullStateType& x) + { + this->fullState_.set (x); + } + + const List::CidOptional& List:: + getCid () const + { + return this->cid_; + } + + List::CidOptional& List:: + getCid () + { + return this->cid_; + } + + void List:: + setCid (const CidType& x) + { + this->cid_.set (x); + } + + void List:: + setCid (const CidOptional& x) + { + this->cid_ = x; + } + + void List:: + setCid (::std::unique_ptr< CidType > x) + { + this->cid_.set (std::move (x)); + } + + const List::AnyAttributeSet& List:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + List::AnyAttributeSet& List:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void List:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& List:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& List:: + getDomDocument () + { + return *this->dom_document_; + } + + + // Resource + // + + const Resource::NameSequence& Resource:: + getName () const + { + return this->name_; + } + + Resource::NameSequence& Resource:: + getName () + { + return this->name_; + } + + void Resource:: + setName (const NameSequence& s) + { + this->name_ = s; + } + + const Resource::InstanceSequence& Resource:: + getInstance () const + { + return this->instance_; + } + + Resource::InstanceSequence& Resource:: + getInstance () + { + return this->instance_; + } + + void Resource:: + setInstance (const InstanceSequence& s) + { + this->instance_ = s; + } + + const Resource::UriType& Resource:: + getUri () const + { + return this->uri_.get (); + } + + Resource::UriType& Resource:: + getUri () + { + return this->uri_.get (); + } + + void Resource:: + setUri (const UriType& x) + { + this->uri_.set (x); + } + + void Resource:: + setUri (::std::unique_ptr< UriType > x) + { + this->uri_.set (std::move (x)); + } + + ::std::unique_ptr< Resource::UriType > Resource:: + setDetachUri () + { + return this->uri_.detach (); + } + + const Resource::AnyAttributeSet& Resource:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + Resource::AnyAttributeSet& Resource:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void Resource:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& Resource:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Resource:: + getDomDocument () + { + return *this->dom_document_; + } + + + // Instance + // + + const Instance::AnySequence& Instance:: + getAny () const + { + return this->any_; + } + + Instance::AnySequence& Instance:: + getAny () + { + return this->any_; + } + + void Instance:: + setAny (const AnySequence& s) + { + this->any_ = s; + } + + const Instance::IdType& Instance:: + getId () const + { + return this->id_.get (); + } + + Instance::IdType& Instance:: + getId () + { + return this->id_.get (); + } + + void Instance:: + setId (const IdType& x) + { + this->id_.set (x); + } + + void Instance:: + setId (::std::unique_ptr< IdType > x) + { + this->id_.set (std::move (x)); + } + + ::std::unique_ptr< Instance::IdType > Instance:: + setDetachId () + { + return this->id_.detach (); + } + + const Instance::StateType& Instance:: + getState () const + { + return this->state_.get (); + } + + Instance::StateType& Instance:: + getState () + { + return this->state_.get (); + } + + void Instance:: + setState (const StateType& x) + { + this->state_.set (x); + } + + void Instance:: + setState (::std::unique_ptr< StateType > x) + { + this->state_.set (std::move (x)); + } + + ::std::unique_ptr< Instance::StateType > Instance:: + setDetachState () + { + return this->state_.detach (); + } + + const Instance::ReasonOptional& Instance:: + getReason () const + { + return this->reason_; + } + + Instance::ReasonOptional& Instance:: + getReason () + { + return this->reason_; + } + + void Instance:: + setReason (const ReasonType& x) + { + this->reason_.set (x); + } + + void Instance:: + setReason (const ReasonOptional& x) + { + this->reason_ = x; + } + + void Instance:: + setReason (::std::unique_ptr< ReasonType > x) + { + this->reason_.set (std::move (x)); + } + + const Instance::CidOptional& Instance:: + getCid () const + { + return this->cid_; + } + + Instance::CidOptional& Instance:: + getCid () + { + return this->cid_; + } + + void Instance:: + setCid (const CidType& x) + { + this->cid_.set (x); + } + + void Instance:: + setCid (const CidOptional& x) + { + this->cid_ = x; + } + + void Instance:: + setCid (::std::unique_ptr< CidType > x) + { + this->cid_.set (std::move (x)); + } + + const Instance::AnyAttributeSet& Instance:: + getAnyAttribute () const + { + return this->any_attribute_; + } + + Instance::AnyAttributeSet& Instance:: + getAnyAttribute () + { + return this->any_attribute_; + } + + void Instance:: + setAnyAttribute (const AnyAttributeSet& s) + { + this->any_attribute_ = s; + } + + const ::xercesc::DOMDocument& Instance:: + getDomDocument () const + { + return *this->dom_document_; + } + + ::xercesc::DOMDocument& Instance:: + getDomDocument () + { + return *this->dom_document_; + } + + + // Name + // + + const Name::LangOptional& Name:: + getLang () const + { + return this->lang_; + } + + Name::LangOptional& Name:: + getLang () + { + return this->lang_; + } + + void Name:: + setLang (const LangType& x) + { + this->lang_.set (x); + } + + void Name:: + setLang (const LangOptional& x) + { + this->lang_ = x; + } + + void Name:: + setLang (::std::unique_ptr< LangType > x) + { + this->lang_.set (std::move (x)); + } + + + // State + // + + State:: + State (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_State_literals_[v]) + { + } + + State:: + State (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + State:: + State (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + State:: + State (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + State:: + State (const State& v, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } -State &State::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_State_literals_[v]); + State& State:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_State_literals_[v]); - return *this; + return *this; + } + } + } } -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate #include <xsd/cxx/xml/dom/wildcard-source.hxx> @@ -397,754 +572,1073 @@ State &State::operator=(Value v) { #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -// List -// - -List::List(const UriType &uri, const VersionType &version, const FullStateType &fullState) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - name_(this), resource_(this), uri_(uri, this), version_(version, this), fullState_(fullState, this), cid_(this), - any_attribute_(this->getDomDocument()) { -} - -List::List(const List &x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - name_(x.name_, f, this), resource_(x.resource_, f, this), uri_(x.uri_, f, this), version_(x.version_, f, this), - fullState_(x.fullState_, f, this), cid_(x.cid_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -List::List(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), name_(this), resource_(this), uri_(this), - version_(this), fullState_(this), cid_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void List::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // name - // - if (n.name() == "name" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<NameType> r(NameTraits::create(i, f, this)); - - this->name_.push_back(::std::move(r)); - continue; - } - - // resource - // - if (n.name() == "resource" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<ResourceType> r(ResourceTraits::create(i, f, this)); - - this->resource_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "uri" && n.namespace_().empty()) { - this->uri_.set(UriTraits::create(i, f, this)); - continue; - } - - if (n.name() == "version" && n.namespace_().empty()) { - this->version_.set(VersionTraits::create(i, f, this)); - continue; - } - - if (n.name() == "fullState" && n.namespace_().empty()) { - this->fullState_.set(FullStateTraits::create(i, f, this)); - continue; - } - - if (n.name() == "cid" && n.namespace_().empty()) { - this->cid_.set(CidTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!uri_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("uri", ""); - } - - if (!version_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("version", ""); - } - - if (!fullState_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("fullState", ""); - } -} - -List *List::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class List(*this, f, c); -} - -List &List::operator=(const List &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->name_ = x.name_; - this->resource_ = x.resource_; - this->uri_ = x.uri_; - this->version_ = x.version_; - this->fullState_ = x.fullState_; - this->cid_ = x.cid_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -List::~List() { -} - -// Resource -// - -Resource::Resource(const UriType &uri) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - name_(this), instance_(this), uri_(uri, this), any_attribute_(this->getDomDocument()) { -} - -Resource::Resource(const Resource &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - name_(x.name_, f, this), instance_(x.instance_, f, this), uri_(x.uri_, f, this), - any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -Resource::Resource(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), name_(this), instance_(this), uri_(this), - any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void Resource::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // name - // - if (n.name() == "name" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<NameType> r(NameTraits::create(i, f, this)); - - this->name_.push_back(::std::move(r)); - continue; - } - - // instance - // - if (n.name() == "instance" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<InstanceType> r(InstanceTraits::create(i, f, this)); - - this->instance_.push_back(::std::move(r)); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "uri" && n.namespace_().empty()) { - this->uri_.set(UriTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!uri_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("uri", ""); - } -} - -Resource *Resource::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Resource(*this, f, c); -} - -Resource &Resource::operator=(const Resource &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->name_ = x.name_; - this->instance_ = x.instance_; - this->uri_ = x.uri_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -Resource::~Resource() { -} - -// Instance -// - -Instance::Instance(const IdType &id, const StateType &state) - : ::LinphonePrivate::Xsd::XmlSchema::Type(), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - any_(this->getDomDocument()), id_(id, this), state_(state, this), reason_(this), cid_(this), - any_attribute_(this->getDomDocument()) { -} - -Instance::Instance(const Instance &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(x, f, c), dom_document_(::xsd::cxx::xml::dom::create_document<char>()), - any_(x.any_, this->getDomDocument()), id_(x.id_, f, this), state_(x.state_, f, this), reason_(x.reason_, f, this), - cid_(x.cid_, f, this), any_attribute_(x.any_attribute_, this->getDomDocument()) { -} - -Instance::Instance(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Type(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), - dom_document_(::xsd::cxx::xml::dom::create_document<char>()), any_(this->getDomDocument()), id_(this), - state_(this), reason_(this), cid_(this), any_attribute_(this->getDomDocument()) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, true, false, true); - this->parse(p, f); - } -} - -void Instance::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - for (; p.more_content(); p.next_content(false)) { - const ::xercesc::DOMElement &i(p.cur_element()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - // any - // - if (true) { - ::xercesc::DOMElement *r(static_cast<::xercesc::DOMElement *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMElement *>(&i), true))); - this->any_.push_back(r); - continue; - } - - break; - } - - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "id" && n.namespace_().empty()) { - this->id_.set(IdTraits::create(i, f, this)); - continue; - } - - if (n.name() == "state" && n.namespace_().empty()) { - this->state_.set(StateTraits::create(i, f, this)); - continue; - } - - if (n.name() == "reason" && n.namespace_().empty()) { - this->reason_.set(ReasonTraits::create(i, f, this)); - continue; - } - - if (n.name() == "cid" && n.namespace_().empty()) { - this->cid_.set(CidTraits::create(i, f, this)); - continue; - } - - // any_attribute - // - if ((n.namespace_() != ::xsd::cxx::xml::bits::xmlns_namespace<char>() && - n.namespace_() != ::xsd::cxx::xml::bits::xsi_namespace<char>())) { - ::xercesc::DOMAttr *r(static_cast<::xercesc::DOMAttr *>( - this->getDomDocument().importNode(const_cast<::xercesc::DOMAttr *>(&i), true))); - this->any_attribute_.insert(r); - continue; - } - } - - if (!id_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("id", ""); - } - - if (!state_.present()) { - throw ::xsd::cxx::tree::expected_attribute<char>("state", ""); - } -} - -Instance *Instance::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Instance(*this, f, c); -} - -Instance &Instance::operator=(const Instance &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Type &>(*this) = x; - this->any_ = x.any_; - this->id_ = x.id_; - this->state_ = x.state_; - this->reason_ = x.reason_; - this->cid_ = x.cid_; - this->any_attribute_ = x.any_attribute_; - } - - return *this; -} - -Instance::~Instance() { -} - -// Name -// - -Name::Name() : ::LinphonePrivate::Xsd::XmlSchema::String(), lang_(this) { -} - -Name::Name(const char *_xsd_String_base) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -Name::Name(const ::std::string &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -Name::Name(const ::LinphonePrivate::Xsd::XmlSchema::String &_xsd_String_base) - : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_String_base), lang_(this) { -} - -Name::Name(const Name &x, ::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(x, f, c), lang_(x.lang_, f, this) { -} - -Name::Name(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), lang_(this) { - if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) { - ::xsd::cxx::xml::dom::parser<char> p(e, false, false, true); - this->parse(p, f); - } -} - -void Name::parse(::xsd::cxx::xml::dom::parser<char> &p, ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - while (p.more_attributes()) { - const ::xercesc::DOMAttr &i(p.next_attribute()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(i)); - - if (n.name() == "lang" && n.namespace_() == "http://www.w3.org/XML/1998/namespace") { - this->lang_.set(LangTraits::create(i, f, this)); - continue; - } - } -} - -Name *Name::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Name(*this, f, c); -} - -Name &Name::operator=(const Name &x) { - if (this != &x) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = x; - this->lang_ = x.lang_; - } - - return *this; -} - -Name::~Name() { -} - -// State -// - -State::State(const ::xercesc::DOMElement &e, +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + // List + // + + List:: + List (const UriType& uri, + const VersionType& version, + const FullStateType& fullState) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (this), + resource_ (this), + uri_ (uri, this), + version_ (version, this), + fullState_ (fullState, this), + cid_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + List:: + List (const List& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (x.name_, f, this), + resource_ (x.resource_, f, this), + uri_ (x.uri_, f, this), + version_ (x.version_, f, this), + fullState_ (x.fullState_, f, this), + cid_ (x.cid_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + List:: + List (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (this), + resource_ (this), + uri_ (this), + version_ (this), + fullState_ (this), + cid_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void List:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // name + // + if (n.name () == "name" && n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< NameType > r ( + NameTraits::create (i, f, this)); + + this->name_.push_back (::std::move (r)); + continue; + } + + // resource + // + if (n.name () == "resource" && n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< ResourceType > r ( + ResourceTraits::create (i, f, this)); + + this->resource_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "uri" && n.namespace_ ().empty ()) + { + this->uri_.set (UriTraits::create (i, f, this)); + continue; + } + + if (n.name () == "version" && n.namespace_ ().empty ()) + { + this->version_.set (VersionTraits::create (i, f, this)); + continue; + } + + if (n.name () == "fullState" && n.namespace_ ().empty ()) + { + this->fullState_.set (FullStateTraits::create (i, f, this)); + continue; + } + + if (n.name () == "cid" && n.namespace_ ().empty ()) + { + this->cid_.set (CidTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!uri_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "uri", + ""); + } + + if (!version_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "version", + ""); + } + + if (!fullState_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "fullState", + ""); + } + } + + List* List:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class List (*this, f, c); + } + + List& List:: + operator= (const List& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->name_ = x.name_; + this->resource_ = x.resource_; + this->uri_ = x.uri_; + this->version_ = x.version_; + this->fullState_ = x.fullState_; + this->cid_ = x.cid_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + List:: + ~List () + { + } + + // Resource + // + + Resource:: + Resource (const UriType& uri) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (this), + instance_ (this), + uri_ (uri, this), + any_attribute_ (this->getDomDocument ()) + { + } + + Resource:: + Resource (const Resource& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (x.name_, f, this), + instance_ (x.instance_, f, this), + uri_ (x.uri_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + Resource:: + Resource (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + name_ (this), + instance_ (this), + uri_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void Resource:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // name + // + if (n.name () == "name" && n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< NameType > r ( + NameTraits::create (i, f, this)); + + this->name_.push_back (::std::move (r)); + continue; + } + + // instance + // + if (n.name () == "instance" && n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< InstanceType > r ( + InstanceTraits::create (i, f, this)); + + this->instance_.push_back (::std::move (r)); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "uri" && n.namespace_ ().empty ()) + { + this->uri_.set (UriTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!uri_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "uri", + ""); + } + } + + Resource* Resource:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Resource (*this, f, c); + } + + Resource& Resource:: + operator= (const Resource& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->name_ = x.name_; + this->instance_ = x.instance_; + this->uri_ = x.uri_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + Resource:: + ~Resource () + { + } + + // Instance + // + + Instance:: + Instance (const IdType& id, + const StateType& state) + : ::LinphonePrivate::Xsd::XmlSchema::Type (), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + any_ (this->getDomDocument ()), + id_ (id, this), + state_ (state, this), + reason_ (this), + cid_ (this), + any_attribute_ (this->getDomDocument ()) + { + } + + Instance:: + Instance (const Instance& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (x, f, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + any_ (x.any_, this->getDomDocument ()), + id_ (x.id_, f, this), + state_ (x.state_, f, this), + reason_ (x.reason_, f, this), + cid_ (x.cid_, f, this), + any_attribute_ (x.any_attribute_, this->getDomDocument ()) + { + } + + Instance:: + Instance (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Type (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + dom_document_ (::xsd::cxx::xml::dom::create_document< char > ()), + any_ (this->getDomDocument ()), + id_ (this), + state_ (this), + reason_ (this), + cid_ (this), + any_attribute_ (this->getDomDocument ()) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false, true); + this->parse (p, f); + } + } + + void Instance:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + for (; p.more_content (); p.next_content (false)) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // any + // + if (true) + { + ::xercesc::DOMElement* r ( + static_cast< ::xercesc::DOMElement* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMElement* > (&i), true))); + this->any_.push_back (r); + continue; + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "id" && n.namespace_ ().empty ()) + { + this->id_.set (IdTraits::create (i, f, this)); + continue; + } + + if (n.name () == "state" && n.namespace_ ().empty ()) + { + this->state_.set (StateTraits::create (i, f, this)); + continue; + } + + if (n.name () == "reason" && n.namespace_ ().empty ()) + { + this->reason_.set (ReasonTraits::create (i, f, this)); + continue; + } + + if (n.name () == "cid" && n.namespace_ ().empty ()) + { + this->cid_.set (CidTraits::create (i, f, this)); + continue; + } + + // any_attribute + // + if ((n.namespace_ () != ::xsd::cxx::xml::bits::xmlns_namespace< char > () && + n.namespace_ () != ::xsd::cxx::xml::bits::xsi_namespace< char > ())) + { + ::xercesc::DOMAttr* r ( + static_cast< ::xercesc::DOMAttr* > ( + this->getDomDocument ().importNode ( + const_cast< ::xercesc::DOMAttr* > (&i), true))); + this->any_attribute_ .insert (r); + continue; + } + } + + if (!id_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "id", + ""); + } + + if (!state_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "state", + ""); + } + } + + Instance* Instance:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Instance (*this, f, c); + } + + Instance& Instance:: + operator= (const Instance& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Type& > (*this) = x; + this->any_ = x.any_; + this->id_ = x.id_; + this->state_ = x.state_; + this->reason_ = x.reason_; + this->cid_ = x.cid_; + this->any_attribute_ = x.any_attribute_; + } + + return *this; + } + + Instance:: + ~Instance () + { + } + + // Name + // + + Name:: + Name () + : ::LinphonePrivate::Xsd::XmlSchema::String (), + lang_ (this) + { + } + + Name:: + Name (const char* _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + Name:: + Name (const ::std::string& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + Name:: + Name (const ::LinphonePrivate::Xsd::XmlSchema::String& _xsd_String_base) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_String_base), + lang_ (this) + { + } + + Name:: + Name (const Name& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (x, f, c), + lang_ (x.lang_, f, this) + { + } + + Name:: + Name (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f | ::LinphonePrivate::Xsd::XmlSchema::Flags::base, c), + lang_ (this) + { + if ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, false, true); + this->parse (p, f); + } + } + + void Name:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (LangTraits::create (i, f, this)); + continue; + } + } + } + + Name* Name:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Name (*this, f, c); + } + + Name& Name:: + operator= (const Name& x) + { + if (this != &x) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = x; + this->lang_ = x.lang_; + } + + return *this; + } + + Name:: + ~Name () + { + } + + // State + // + + State:: + State (const ::xercesc::DOMElement& e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_State_convert(); -} - -State::State(const ::xercesc::DOMAttr &a, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_State_convert (); + } + + State:: + State (const ::xercesc::DOMAttr& a, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_State_convert(); -} - -State::State(const ::std::string &s, - const ::xercesc::DOMElement *e, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_State_convert (); + } + + State:: + State (const ::std::string& s, + const ::xercesc::DOMElement* e, ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_State_convert(); -} - -State *State::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class State(*this, f, c); -} - -State::Value State::_xsd_State_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_State_literals_); - const Value *i(::std::lower_bound(_xsd_State_indexes_, _xsd_State_indexes_ + 3, *this, c)); - - if (i == _xsd_State_indexes_ + 3 || _xsd_State_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_State_convert (); + } + + State* State:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class State (*this, f, c); + } + + State::Value State:: + _xsd_State_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_State_literals_); + const Value* i (::std::lower_bound ( + _xsd_State_indexes_, + _xsd_State_indexes_ + 3, + *this, + c)); + + if (i == _xsd_State_indexes_ + 3 || _xsd_State_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const State:: + _xsd_State_literals_[3] = + { + "active", + "pending", + "terminated" + }; + + const State::Value State:: + _xsd_State_indexes_[3] = + { + ::LinphonePrivate::Xsd::Rlmi::State::active, + ::LinphonePrivate::Xsd::Rlmi::State::pending, + ::LinphonePrivate::Xsd::Rlmi::State::terminated + }; + } + } } -const char *const State::_xsd_State_literals_[3] = {"active", "pending", "terminated"}; - -const State::Value State::_xsd_State_indexes_[3] = {::LinphonePrivate::Xsd::Rlmi::State::active, - ::LinphonePrivate::Xsd::Rlmi::State::pending, - ::LinphonePrivate::Xsd::Rlmi::State::terminated}; -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate - #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -::std::ostream &operator<<(::std::ostream &o, const List &i) { - for (List::NameConstIterator b(i.getName().begin()), e(i.getName().end()); b != e; ++b) { - o << ::std::endl << "name: " << *b; - } - - for (List::ResourceConstIterator b(i.getResource().begin()), e(i.getResource().end()); b != e; ++b) { - o << ::std::endl << "resource: " << *b; - } - - o << ::std::endl << "uri: " << i.getUri(); - o << ::std::endl << "version: " << i.getVersion(); - o << ::std::endl << "fullState: " << i.getFullState(); - if (i.getCid()) { - o << ::std::endl << "cid: " << *i.getCid(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Resource &i) { - for (Resource::NameConstIterator b(i.getName().begin()), e(i.getName().end()); b != e; ++b) { - o << ::std::endl << "name: " << *b; - } - - for (Resource::InstanceConstIterator b(i.getInstance().begin()), e(i.getInstance().end()); b != e; ++b) { - o << ::std::endl << "instance: " << *b; - } - - o << ::std::endl << "uri: " << i.getUri(); - return o; -} - -::std::ostream &operator<<(::std::ostream &o, const Instance &i) { - o << ::std::endl << "id: " << i.getId(); - o << ::std::endl << "state: " << i.getState(); - if (i.getReason()) { - o << ::std::endl << "reason: " << *i.getReason(); - } - - if (i.getCid()) { - o << ::std::endl << "cid: " << *i.getCid(); - } - - return o; +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + ::std::ostream& + operator<< (::std::ostream& o, const List& i) + { + for (List::NameConstIterator + b (i.getName ().begin ()), e (i.getName ().end ()); + b != e; ++b) + { + o << ::std::endl << "name: " << *b; + } + + for (List::ResourceConstIterator + b (i.getResource ().begin ()), e (i.getResource ().end ()); + b != e; ++b) + { + o << ::std::endl << "resource: " << *b; + } + + o << ::std::endl << "uri: " << i.getUri (); + o << ::std::endl << "version: " << i.getVersion (); + o << ::std::endl << "fullState: " << i.getFullState (); + if (i.getCid ()) + { + o << ::std::endl << "cid: " << *i.getCid (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Resource& i) + { + for (Resource::NameConstIterator + b (i.getName ().begin ()), e (i.getName ().end ()); + b != e; ++b) + { + o << ::std::endl << "name: " << *b; + } + + for (Resource::InstanceConstIterator + b (i.getInstance ().begin ()), e (i.getInstance ().end ()); + b != e; ++b) + { + o << ::std::endl << "instance: " << *b; + } + + o << ::std::endl << "uri: " << i.getUri (); + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Instance& i) + { + o << ::std::endl << "id: " << i.getId (); + o << ::std::endl << "state: " << i.getState (); + if (i.getReason ()) + { + o << ::std::endl << "reason: " << *i.getReason (); + } + + if (i.getCid ()) + { + o << ::std::endl << "cid: " << *i.getCid (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Name& i) + { + o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + + if (i.getLang ()) + { + o << ::std::endl << "lang: " << *i.getLang (); + } + + return o; + } + + ::std::ostream& + operator<< (::std::ostream& o, State::Value i) + { + return o << State::_xsd_State_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const State& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + } + } } -::std::ostream &operator<<(::std::ostream &o, const Name &i) { - o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); - - if (i.getLang()) { - o << ::std::endl << "lang: " << *i.getLang(); - } - - return o; -} - -::std::ostream &operator<<(::std::ostream &o, State::Value i) { - return o << State::_xsd_State_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const State &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate - #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &u, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &u, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(u, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &sid, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, - (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); - - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &sid, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::xml::sax::std_input_source isrc(is, sid); - return ::LinphonePrivate::Xsd::Rlmi::parseList(isrc, h, f, p); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::xsd::cxx::tree::error_handler<char> h; - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - h.throw_if_failed<::xsd::cxx::tree::parsing<char>>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &i, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &i, - ::xercesc::DOMErrorHandler &h, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::parse<char>(i, h, p, f)); - - if (!d.get()) throw ::xsd::cxx::tree::parsing<char>(); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::xercesc::DOMDocument &doc, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p) { - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - static_cast<::xercesc::DOMDocument *>(doc.cloneNode(true))); - - return ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List>(::LinphonePrivate::Xsd::Rlmi::parseList( - std::move(d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); - } - - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "list" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::Rlmi::List, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "list", "urn:ietf:params:xml:ns:rlmi"); -} - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> c( - ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && - !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) - ? static_cast<::xercesc::DOMDocument *>(d->cloneNode(true)) - : 0); - - ::xercesc::DOMDocument &doc(c.get() ? *c : *d); - const ::xercesc::DOMElement &e(*doc.getDocumentElement()); - - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) - doc.setUserData(::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, (c.get() ? &c : &d), 0); - - if (n.name() == "list" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - ::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> r( - ::xsd::cxx::tree::traits<::LinphonePrivate::Xsd::Rlmi::List, char>::create(e, f, 0)); - return r; - } - - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "list", "urn:ietf:params:xml:ns:rlmi"); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& u, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& sid, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0, + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::LinphonePrivate::Xsd::Rlmi::parseList (isrc, h, f, p); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& i, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::xercesc::DOMDocument& doc, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p) + { + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > ( + ::LinphonePrivate::Xsd::Rlmi::parseList ( + std::move (d), f | ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "list" && + n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::Rlmi::List, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "list", + "urn:ietf:params:xml:ns:rlmi"); + } + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + const ::LinphonePrivate::Xsd::XmlSchema::Properties&) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > c ( + ((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) && + !(f & ::LinphonePrivate::Xsd::XmlSchema::Flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::keep_dom) + doc.setUserData (::LinphonePrivate::Xsd::XmlSchema::dom::treeNodeKey, + (c.get () ? &c : &d), + 0); + + if (n.name () == "list" && + n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > r ( + ::xsd::cxx::tree::traits< ::LinphonePrivate::Xsd::Rlmi::List, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "list", + "urn:ietf:params:xml:ns:rlmi"); + } + } + } } -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -1152,321 +1646,463 @@ parseList(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocum #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -void serializeList(::std::ostream &o, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeList(::std::ostream &o, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::xsd::cxx::xml::auto_initializer i((f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); - - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeList(::std::ostream &o, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - ::xsd::cxx::xml::dom::ostream_format_target t(o); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeList(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - - ::xsd::cxx::tree::error_handler<char> h; - - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - h.throw_if_failed<::xsd::cxx::tree::serialization<char>>(); - } -} - -void serializeList(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeList(::xercesc::XMLFormatTarget &t, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - ::xercesc::DOMErrorHandler &h, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - const ::std::string &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::LinphonePrivate::Xsd::Rlmi::serializeList(s, m, f)); - if (!::xsd::cxx::xml::dom::serialize(t, *d, e, h, f)) { - throw ::xsd::cxx::tree::serialization<char>(); - } -} - -void serializeList(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::Rlmi::List &s, - ::LinphonePrivate::Xsd::XmlSchema::Flags) { - ::xercesc::DOMElement &e(*d.getDocumentElement()); - const ::xsd::cxx::xml::qualified_name<char> n(::xsd::cxx::xml::dom::name<char>(e)); - - if (n.name() == "list" && n.namespace_() == "urn:ietf:params:xml:ns:rlmi") { - e << s; - } else { - throw ::xsd::cxx::tree::unexpected_element<char>(n.name(), n.namespace_(), "list", - "urn:ietf:params:xml:ns:rlmi"); - } +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + void + serializeList (::std::ostream& o, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeList (::std::ostream& o, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::LinphonePrivate::Xsd::XmlSchema::Flags::dont_initialize) == 0); + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeList (::std::ostream& o, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeList (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serializeList (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeList (::xercesc::XMLFormatTarget& t, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + ::xercesc::DOMErrorHandler& h, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + const ::std::string& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::LinphonePrivate::Xsd::Rlmi::serializeList (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serializeList (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::Rlmi::List& s, + ::LinphonePrivate::Xsd::XmlSchema::Flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "list" && + n.namespace_ () == "urn:ietf:params:xml:ns:rlmi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "list", + "urn:ietf:params:xml:ns:rlmi"); + } + } + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeList (const ::LinphonePrivate::Xsd::Rlmi::List& s, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m, + ::LinphonePrivate::Xsd::XmlSchema::Flags f) + { + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "list", + "urn:ietf:params:xml:ns:rlmi", + m, f)); + + ::LinphonePrivate::Xsd::Rlmi::serializeList (*d, s, f); + return d; + } + + void + operator<< (::xercesc::DOMElement& e, const List& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (List::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // name + // + for (List::NameConstIterator + b (i.getName ().begin ()), n (i.getName ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "name", + "urn:ietf:params:xml:ns:rlmi", + e)); + + s << *b; + } + + // resource + // + for (List::ResourceConstIterator + b (i.getResource ().begin ()), n (i.getResource ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "resource", + "urn:ietf:params:xml:ns:rlmi", + e)); + + s << *b; + } + + // uri + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "uri", + e)); + + a << i.getUri (); + } + + // version + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "version", + e)); + + a << i.getVersion (); + } + + // fullState + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "fullState", + e)); + + a << i.getFullState (); + } + + // cid + // + if (i.getCid ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "cid", + e)); + + a << *i.getCid (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Resource& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (Resource::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // name + // + for (Resource::NameConstIterator + b (i.getName ().begin ()), n (i.getName ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "name", + "urn:ietf:params:xml:ns:rlmi", + e)); + + s << *b; + } + + // instance + // + for (Resource::InstanceConstIterator + b (i.getInstance ().begin ()), n (i.getInstance ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "instance", + "urn:ietf:params:xml:ns:rlmi", + e)); + + s << *b; + } + + // uri + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "uri", + e)); + + a << i.getUri (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Instance& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Type& > (i); + + // any_attribute + // + for (Instance::AnyAttributeConstIterator + b (i.getAnyAttribute ().begin ()), n (i.getAnyAttribute ().end ()); + b != n; ++b) + { + ::xercesc::DOMAttr* a ( + static_cast< ::xercesc::DOMAttr* > ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMAttr* > (&(*b)), true))); + + if (a->getLocalName () == 0) + e.setAttributeNode (a); + else + e.setAttributeNodeNS (a); + } + + // any + // + for (Instance::AnyConstIterator + b (i.getAny ().begin ()), n (i.getAny ().end ()); + b != n; ++b) + { + e.appendChild ( + e.getOwnerDocument ()->importNode ( + const_cast< ::xercesc::DOMElement* > (&(*b)), true)); + } + + // id + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "id", + e)); + + a << i.getId (); + } + + // state + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "state", + e)); + + a << i.getState (); + } + + // reason + // + if (i.getReason ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "reason", + e)); + + a << *i.getReason (); + } + + // cid + // + if (i.getCid ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "cid", + e)); + + a << *i.getCid (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const Name& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + + // lang + // + if (i.getLang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.getLang (); + } + } + + void + operator<< (::xercesc::DOMElement& e, const State& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const State& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const State& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + } + } } -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeList(const ::LinphonePrivate::Xsd::Rlmi::List &s, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m, - ::LinphonePrivate::Xsd::XmlSchema::Flags f) { - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d( - ::xsd::cxx::xml::dom::serialize<char>("list", "urn:ietf:params:xml:ns:rlmi", m, f)); - - ::LinphonePrivate::Xsd::Rlmi::serializeList(*d, s, f); - return d; -} - -void operator<<(::xercesc::DOMElement &e, const List &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (List::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // name - // - for (List::NameConstIterator b(i.getName().begin()), n(i.getName().end()); b != n; ++b) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("name", "urn:ietf:params:xml:ns:rlmi", e)); - - s << *b; - } - - // resource - // - for (List::ResourceConstIterator b(i.getResource().begin()), n(i.getResource().end()); b != n; ++b) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("resource", "urn:ietf:params:xml:ns:rlmi", e)); - - s << *b; - } - - // uri - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("uri", e)); - - a << i.getUri(); - } - - // version - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("version", e)); - - a << i.getVersion(); - } - - // fullState - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("fullState", e)); - - a << i.getFullState(); - } - - // cid - // - if (i.getCid()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("cid", e)); - - a << *i.getCid(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Resource &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (Resource::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // name - // - for (Resource::NameConstIterator b(i.getName().begin()), n(i.getName().end()); b != n; ++b) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("name", "urn:ietf:params:xml:ns:rlmi", e)); - - s << *b; - } - - // instance - // - for (Resource::InstanceConstIterator b(i.getInstance().begin()), n(i.getInstance().end()); b != n; ++b) { - ::xercesc::DOMElement &s(::xsd::cxx::xml::dom::create_element("instance", "urn:ietf:params:xml:ns:rlmi", e)); - - s << *b; - } - - // uri - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("uri", e)); - - a << i.getUri(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Instance &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Type &>(i); - - // any_attribute - // - for (Instance::AnyAttributeConstIterator b(i.getAnyAttribute().begin()), n(i.getAnyAttribute().end()); b != n; - ++b) { - ::xercesc::DOMAttr *a(static_cast<::xercesc::DOMAttr *>( - e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMAttr *>(&(*b)), true))); - - if (a->getLocalName() == 0) e.setAttributeNode(a); - else e.setAttributeNodeNS(a); - } - - // any - // - for (Instance::AnyConstIterator b(i.getAny().begin()), n(i.getAny().end()); b != n; ++b) { - e.appendChild(e.getOwnerDocument()->importNode(const_cast<::xercesc::DOMElement *>(&(*b)), true)); - } - - // id - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("id", e)); - - a << i.getId(); - } - - // state - // - { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("state", e)); - - a << i.getState(); - } - - // reason - // - if (i.getReason()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("reason", e)); - - a << *i.getReason(); - } - - // cid - // - if (i.getCid()) { - ::xercesc::DOMAttr &a(::xsd::cxx::xml::dom::create_attribute("cid", e)); - - a << *i.getCid(); - } -} - -void operator<<(::xercesc::DOMElement &e, const Name &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); - - // lang - // - if (i.getLang()) { - ::xercesc::DOMAttr &a( - ::xsd::cxx::xml::dom::create_attribute("lang", "http://www.w3.org/XML/1998/namespace", e)); - - a << *i.getLang(); - } -} - -void operator<<(::xercesc::DOMElement &e, const State &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const State &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const State &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/rlmi.h b/src/xml/rlmi.h index 509cf07e60..3852c4bd3c 100644 --- a/src/xml/rlmi.h +++ b/src/xml/rlmi.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,216 +71,224 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -class List; -class Resource; -class Instance; -class Name; -class State; -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + class List; + class Resource; + class Instance; + class Name; + class State; + } + } +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> @@ -289,596 +297,725 @@ class State; #include "xml.h" -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -class List : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // name - // - typedef ::LinphonePrivate::Xsd::Rlmi::Name NameType; - typedef ::xsd::cxx::tree::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - typedef ::xsd::cxx::tree::traits<NameType, char> NameTraits; - - const NameSequence &getName() const; - - NameSequence &getName(); - - void setName(const NameSequence &s); - - // resource - // - typedef ::LinphonePrivate::Xsd::Rlmi::Resource ResourceType; - typedef ::xsd::cxx::tree::sequence<ResourceType> ResourceSequence; - typedef ResourceSequence::iterator ResourceIterator; - typedef ResourceSequence::const_iterator ResourceConstIterator; - typedef ::xsd::cxx::tree::traits<ResourceType, char> ResourceTraits; - - const ResourceSequence &getResource() const; - - ResourceSequence &getResource(); - - void setResource(const ResourceSequence &s); - - // uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; - typedef ::xsd::cxx::tree::traits<UriType, char> UriTraits; - - const UriType &getUri() const; - - UriType &getUri(); - - void setUri(const UriType &x); - - void setUri(::std::unique_ptr<UriType> p); - - ::std::unique_ptr<UriType> setDetachUri(); - - // version - // - typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt VersionType; - typedef ::xsd::cxx::tree::traits<VersionType, char> VersionTraits; - - const VersionType &getVersion() const; - - VersionType &getVersion(); - - void setVersion(const VersionType &x); - - // fullState - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean FullStateType; - typedef ::xsd::cxx::tree::traits<FullStateType, char> FullStateTraits; - - const FullStateType &getFullState() const; - - FullStateType &getFullState(); - - void setFullState(const FullStateType &x); - - // cid - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String CidType; - typedef ::xsd::cxx::tree::optional<CidType> CidOptional; - typedef ::xsd::cxx::tree::traits<CidType, char> CidTraits; - - const CidOptional &getCid() const; - - CidOptional &getCid(); - - void setCid(const CidType &x); - - void setCid(const CidOptional &x); - - void setCid(::std::unique_ptr<CidType> p); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + class List: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // name + // + typedef ::LinphonePrivate::Xsd::Rlmi::Name NameType; + typedef ::xsd::cxx::tree::sequence< NameType > NameSequence; + typedef NameSequence::iterator NameIterator; + typedef NameSequence::const_iterator NameConstIterator; + typedef ::xsd::cxx::tree::traits< NameType, char > NameTraits; - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + const NameSequence& + getName () const; - const AnyAttributeSet &getAnyAttribute() const; + NameSequence& + getName (); - AnyAttributeSet &getAnyAttribute(); + void + setName (const NameSequence& s); - void setAnyAttribute(const AnyAttributeSet &s); + // resource + // + typedef ::LinphonePrivate::Xsd::Rlmi::Resource ResourceType; + typedef ::xsd::cxx::tree::sequence< ResourceType > ResourceSequence; + typedef ResourceSequence::iterator ResourceIterator; + typedef ResourceSequence::const_iterator ResourceConstIterator; + typedef ::xsd::cxx::tree::traits< ResourceType, char > ResourceTraits; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + const ResourceSequence& + getResource () const; - ::xercesc::DOMDocument &getDomDocument(); + ResourceSequence& + getResource (); - // Constructors. - // - List(const UriType &, const VersionType &, const FullStateType &); + void + setResource (const ResourceSequence& s); - List(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + // uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; + typedef ::xsd::cxx::tree::traits< UriType, char > UriTraits; - List(const List &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + const UriType& + getUri () const; - virtual List *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + UriType& + getUri (); - List &operator=(const List &x); + void + setUri (const UriType& x); - virtual ~List(); + void + setUri (::std::unique_ptr< UriType > p); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + ::std::unique_ptr< UriType > + setDetachUri (); -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + // version + // + typedef ::LinphonePrivate::Xsd::XmlSchema::UnsignedInt VersionType; + typedef ::xsd::cxx::tree::traits< VersionType, char > VersionTraits; - NameSequence name_; - ResourceSequence resource_; - ::xsd::cxx::tree::one<UriType> uri_; - ::xsd::cxx::tree::one<VersionType> version_; - ::xsd::cxx::tree::one<FullStateType> fullState_; - CidOptional cid_; - AnyAttributeSet any_attribute_; -}; + const VersionType& + getVersion () const; -class Resource : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // name - // - typedef ::LinphonePrivate::Xsd::Rlmi::Name NameType; - typedef ::xsd::cxx::tree::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - typedef ::xsd::cxx::tree::traits<NameType, char> NameTraits; + VersionType& + getVersion (); - const NameSequence &getName() const; + void + setVersion (const VersionType& x); + + // fullState + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Boolean FullStateType; + typedef ::xsd::cxx::tree::traits< FullStateType, char > FullStateTraits; + + const FullStateType& + getFullState () const; + + FullStateType& + getFullState (); + + void + setFullState (const FullStateType& x); + + // cid + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String CidType; + typedef ::xsd::cxx::tree::optional< CidType > CidOptional; + typedef ::xsd::cxx::tree::traits< CidType, char > CidTraits; + + const CidOptional& + getCid () const; + + CidOptional& + getCid (); + + void + setCid (const CidType& x); + + void + setCid (const CidOptional& x); + + void + setCid (::std::unique_ptr< CidType > p); - NameSequence &getName(); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - void setName(const NameSequence &s); + const AnyAttributeSet& + getAnyAttribute () const; - // instance - // - typedef ::LinphonePrivate::Xsd::Rlmi::Instance InstanceType; - typedef ::xsd::cxx::tree::sequence<InstanceType> InstanceSequence; - typedef InstanceSequence::iterator InstanceIterator; - typedef InstanceSequence::const_iterator InstanceConstIterator; - typedef ::xsd::cxx::tree::traits<InstanceType, char> InstanceTraits; + AnyAttributeSet& + getAnyAttribute (); - const InstanceSequence &getInstance() const; + void + setAnyAttribute (const AnyAttributeSet& s); - InstanceSequence &getInstance(); + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - void setInstance(const InstanceSequence &s); + ::xercesc::DOMDocument& + getDomDocument (); - // uri - // - typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; - typedef ::xsd::cxx::tree::traits<UriType, char> UriTraits; + // Constructors. + // + List (const UriType&, + const VersionType&, + const FullStateType&); - const UriType &getUri() const; + List (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - UriType &getUri(); + List (const List& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - void setUri(const UriType &x); + virtual List* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - void setUri(::std::unique_ptr<UriType> p); + List& + operator= (const List& x); - ::std::unique_ptr<UriType> setDetachUri(); + virtual + ~List (); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - const AnyAttributeSet &getAnyAttribute() const; + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - AnyAttributeSet &getAnyAttribute(); + NameSequence name_; + ResourceSequence resource_; + ::xsd::cxx::tree::one< UriType > uri_; + ::xsd::cxx::tree::one< VersionType > version_; + ::xsd::cxx::tree::one< FullStateType > fullState_; + CidOptional cid_; + AnyAttributeSet any_attribute_; + }; - void setAnyAttribute(const AnyAttributeSet &s); + class Resource: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // name + // + typedef ::LinphonePrivate::Xsd::Rlmi::Name NameType; + typedef ::xsd::cxx::tree::sequence< NameType > NameSequence; + typedef NameSequence::iterator NameIterator; + typedef NameSequence::const_iterator NameConstIterator; + typedef ::xsd::cxx::tree::traits< NameType, char > NameTraits; + + const NameSequence& + getName () const; + + NameSequence& + getName (); + + void + setName (const NameSequence& s); + + // instance + // + typedef ::LinphonePrivate::Xsd::Rlmi::Instance InstanceType; + typedef ::xsd::cxx::tree::sequence< InstanceType > InstanceSequence; + typedef InstanceSequence::iterator InstanceIterator; + typedef InstanceSequence::const_iterator InstanceConstIterator; + typedef ::xsd::cxx::tree::traits< InstanceType, char > InstanceTraits; + + const InstanceSequence& + getInstance () const; + + InstanceSequence& + getInstance (); + + void + setInstance (const InstanceSequence& s); + + // uri + // + typedef ::LinphonePrivate::Xsd::XmlSchema::Uri UriType; + typedef ::xsd::cxx::tree::traits< UriType, char > UriTraits; + + const UriType& + getUri () const; + + UriType& + getUri (); + + void + setUri (const UriType& x); + + void + setUri (::std::unique_ptr< UriType > p); + + ::std::unique_ptr< UriType > + setDetachUri (); + + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + + const AnyAttributeSet& + getAnyAttribute () const; + + AnyAttributeSet& + getAnyAttribute (); + + void + setAnyAttribute (const AnyAttributeSet& s); + + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + ::xercesc::DOMDocument& + getDomDocument (); + + // Constructors. + // + Resource (const UriType&); + + Resource (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::xercesc::DOMDocument &getDomDocument(); + Resource (const Resource& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // Constructors. - // - Resource(const UriType &); + virtual Resource* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Resource(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Resource& + operator= (const Resource& x); - Resource(const Resource &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + ~Resource (); - virtual Resource *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - Resource &operator=(const Resource &x); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - virtual ~Resource(); + NameSequence name_; + InstanceSequence instance_; + ::xsd::cxx::tree::one< UriType > uri_; + AnyAttributeSet any_attribute_; + }; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + class Instance: public ::LinphonePrivate::Xsd::XmlSchema::Type + { + public: + // any + // + typedef ::xsd::cxx::tree::element_sequence AnySequence; + typedef AnySequence::iterator AnyIterator; + typedef AnySequence::const_iterator AnyConstIterator; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + const AnySequence& + getAny () const; - NameSequence name_; - InstanceSequence instance_; - ::xsd::cxx::tree::one<UriType> uri_; - AnyAttributeSet any_attribute_; -}; + AnySequence& + getAny (); -class Instance : public ::LinphonePrivate::Xsd::XmlSchema::Type { -public: - // any - // - typedef ::xsd::cxx::tree::element_sequence AnySequence; - typedef AnySequence::iterator AnyIterator; - typedef AnySequence::const_iterator AnyConstIterator; + void + setAny (const AnySequence& s); - const AnySequence &getAny() const; + // id + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String IdType; + typedef ::xsd::cxx::tree::traits< IdType, char > IdTraits; - AnySequence &getAny(); + const IdType& + getId () const; - void setAny(const AnySequence &s); + IdType& + getId (); - // id - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String IdType; - typedef ::xsd::cxx::tree::traits<IdType, char> IdTraits; + void + setId (const IdType& x); - const IdType &getId() const; + void + setId (::std::unique_ptr< IdType > p); - IdType &getId(); + ::std::unique_ptr< IdType > + setDetachId (); - void setId(const IdType &x); + // state + // + typedef ::LinphonePrivate::Xsd::Rlmi::State StateType; + typedef ::xsd::cxx::tree::traits< StateType, char > StateTraits; - void setId(::std::unique_ptr<IdType> p); + const StateType& + getState () const; - ::std::unique_ptr<IdType> setDetachId(); + StateType& + getState (); - // state - // - typedef ::LinphonePrivate::Xsd::Rlmi::State StateType; - typedef ::xsd::cxx::tree::traits<StateType, char> StateTraits; + void + setState (const StateType& x); - const StateType &getState() const; + void + setState (::std::unique_ptr< StateType > p); - StateType &getState(); + ::std::unique_ptr< StateType > + setDetachState (); - void setState(const StateType &x); + // reason + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String ReasonType; + typedef ::xsd::cxx::tree::optional< ReasonType > ReasonOptional; + typedef ::xsd::cxx::tree::traits< ReasonType, char > ReasonTraits; - void setState(::std::unique_ptr<StateType> p); + const ReasonOptional& + getReason () const; - ::std::unique_ptr<StateType> setDetachState(); + ReasonOptional& + getReason (); - // reason - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String ReasonType; - typedef ::xsd::cxx::tree::optional<ReasonType> ReasonOptional; - typedef ::xsd::cxx::tree::traits<ReasonType, char> ReasonTraits; + void + setReason (const ReasonType& x); - const ReasonOptional &getReason() const; + void + setReason (const ReasonOptional& x); - ReasonOptional &getReason(); + void + setReason (::std::unique_ptr< ReasonType > p); - void setReason(const ReasonType &x); + // cid + // + typedef ::LinphonePrivate::Xsd::XmlSchema::String CidType; + typedef ::xsd::cxx::tree::optional< CidType > CidOptional; + typedef ::xsd::cxx::tree::traits< CidType, char > CidTraits; - void setReason(const ReasonOptional &x); + const CidOptional& + getCid () const; - void setReason(::std::unique_ptr<ReasonType> p); + CidOptional& + getCid (); - // cid - // - typedef ::LinphonePrivate::Xsd::XmlSchema::String CidType; - typedef ::xsd::cxx::tree::optional<CidType> CidOptional; - typedef ::xsd::cxx::tree::traits<CidType, char> CidTraits; + void + setCid (const CidType& x); - const CidOptional &getCid() const; + void + setCid (const CidOptional& x); - CidOptional &getCid(); + void + setCid (::std::unique_ptr< CidType > p); - void setCid(const CidType &x); + // any_attribute + // + typedef ::xsd::cxx::tree::attribute_set< char > AnyAttributeSet; + typedef AnyAttributeSet::iterator AnyAttributeIterator; + typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; - void setCid(const CidOptional &x); + const AnyAttributeSet& + getAnyAttribute () const; - void setCid(::std::unique_ptr<CidType> p); + AnyAttributeSet& + getAnyAttribute (); - // any_attribute - // - typedef ::xsd::cxx::tree::attribute_set<char> AnyAttributeSet; - typedef AnyAttributeSet::iterator AnyAttributeIterator; - typedef AnyAttributeSet::const_iterator AnyAttributeConstIterator; + void + setAnyAttribute (const AnyAttributeSet& s); - const AnyAttributeSet &getAnyAttribute() const; + // DOMDocument for wildcard content. + // + const ::xercesc::DOMDocument& + getDomDocument () const; - AnyAttributeSet &getAnyAttribute(); + ::xercesc::DOMDocument& + getDomDocument (); - void setAnyAttribute(const AnyAttributeSet &s); + // Constructors. + // + Instance (const IdType&, + const StateType&); - // DOMDocument for wildcard content. - // - const ::xercesc::DOMDocument &getDomDocument() const; + Instance (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - ::xercesc::DOMDocument &getDomDocument(); + Instance (const Instance& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - // Constructors. - // - Instance(const IdType &, const StateType &); + virtual Instance* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Instance(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Instance& + operator= (const Instance& x); - Instance(const Instance &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + ~Instance (); - virtual Instance *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - Instance &operator=(const Instance &x); + protected: + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > dom_document_; - virtual ~Instance(); + AnySequence any_; + ::xsd::cxx::tree::one< IdType > id_; + ::xsd::cxx::tree::one< StateType > state_; + ReasonOptional reason_; + CidOptional cid_; + AnyAttributeSet any_attribute_; + }; - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + class Name: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + // lang + // + typedef ::namespace_::Lang LangType; + typedef ::xsd::cxx::tree::optional< LangType > LangOptional; + typedef ::xsd::cxx::tree::traits< LangType, char > LangTraits; -protected: - ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> dom_document_; + const LangOptional& + getLang () const; - AnySequence any_; - ::xsd::cxx::tree::one<IdType> id_; - ::xsd::cxx::tree::one<StateType> state_; - ReasonOptional reason_; - CidOptional cid_; - AnyAttributeSet any_attribute_; -}; + LangOptional& + getLang (); -class Name : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - // lang - // - typedef ::namespace_::Lang LangType; - typedef ::xsd::cxx::tree::optional<LangType> LangOptional; - typedef ::xsd::cxx::tree::traits<LangType, char> LangTraits; + void + setLang (const LangType& x); - const LangOptional &getLang() const; + void + setLang (const LangOptional& x); - LangOptional &getLang(); + void + setLang (::std::unique_ptr< LangType > p); - void setLang(const LangType &x); + // Constructors. + // + Name (); - void setLang(const LangOptional &x); + Name (const char*); - void setLang(::std::unique_ptr<LangType> p); + Name (const ::std::string&); - // Constructors. - // - Name(); + Name (const ::LinphonePrivate::Xsd::XmlSchema::String&); - Name(const char *); + Name (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Name(const ::std::string &); + Name (const Name& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Name(const ::LinphonePrivate::Xsd::XmlSchema::String &); + virtual Name* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Name(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Name& + operator= (const Name& x); - Name(const Name &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + ~Name (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::LinphonePrivate::Xsd::XmlSchema::Flags); - virtual Name *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + protected: + LangOptional lang_; + }; - Name &operator=(const Name &x); + class State: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + active, + pending, + terminated + }; - virtual ~Name(); + State (Value v); - // Implementation. - // -protected: - void parse(::xsd::cxx::xml::dom::parser<char> &, ::LinphonePrivate::Xsd::XmlSchema::Flags); + State (const char* v); -protected: - LangOptional lang_; -}; + State (const ::std::string& v); -class State : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { active, pending, terminated }; + State (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - State(Value v); + State (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - State(const char *v); + State (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - State(const ::std::string &v); + State (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - State(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + State (const State& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - State(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual State* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - State(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + State& + operator= (Value v); - State(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + virtual + operator Value () const + { + return _xsd_State_convert (); + } - State(const State &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + protected: + Value + _xsd_State_convert () const; - virtual State *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; - - State &operator=(Value v); - - virtual operator Value() const { - return _xsd_State_convert(); - } - -protected: - Value _xsd_State_convert() const; - -public: - static const char *const _xsd_State_literals_[3]; - static const Value _xsd_State_indexes_[3]; -}; -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate + public: + static const char* const _xsd_State_literals_[3]; + static const Value _xsd_State_indexes_[3]; + }; + } + } +} #include <iosfwd> -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -::std::ostream &operator<<(::std::ostream &, const List &); +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + ::std::ostream& + operator<< (::std::ostream&, const List&); -::std::ostream &operator<<(::std::ostream &, const Resource &); + ::std::ostream& + operator<< (::std::ostream&, const Resource&); -::std::ostream &operator<<(::std::ostream &, const Instance &); + ::std::ostream& + operator<< (::std::ostream&, const Instance&); -::std::ostream &operator<<(::std::ostream &, const Name &); + ::std::ostream& + operator<< (::std::ostream&, const Name&); -::std::ostream &operator<<(::std::ostream &, State::Value); + ::std::ostream& + operator<< (::std::ostream&, State::Value); -::std::ostream &operator<<(::std::ostream &, const State &); -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate + ::std::ostream& + operator<< (::std::ostream&, const State&); + } + } +} #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> - -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -// Parse a URI or a local file. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &uri, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::std::string &uri, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse std::istream. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &id, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::std::istream &is, - const ::std::string &id, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::InputSource. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &is, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::xercesc::InputSource &is, - ::xercesc::DOMErrorHandler &eh, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -// Parse xercesc::DOMDocument. -// - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(const ::xercesc::DOMDocument &d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); - -::std::unique_ptr<::LinphonePrivate::Xsd::Rlmi::List> -parseList(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> d, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - const ::LinphonePrivate::Xsd::XmlSchema::Properties &p = ::LinphonePrivate::Xsd::XmlSchema::Properties()); -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + // Parse a URI or a local file. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& uri, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse std::istream. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& id, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::InputSource. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& is, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (const ::xercesc::DOMDocument& d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + + ::std::unique_ptr< ::LinphonePrivate::Xsd::Rlmi::List > + parseList (::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > d, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + const ::LinphonePrivate::Xsd::XmlSchema::Properties& p = ::LinphonePrivate::Xsd::XmlSchema::Properties ()); + } + } +} #include <iosfwd> @@ -888,106 +1025,117 @@ parseList(::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocum #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace Rlmi { -// Serialize to std::ostream. -// - -void serializeList(::std::ostream &os, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeList(::std::ostream &os, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeList(::std::ostream &os, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to xercesc::XMLFormatTarget. -// - -void serializeList(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeList(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void serializeList(::xercesc::XMLFormatTarget &ft, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - ::xercesc::DOMErrorHandler &eh, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - const ::std::string &e = "UTF-8", - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to an existing xercesc::DOMDocument. -// - -void serializeList(::xercesc::DOMDocument &d, - const ::LinphonePrivate::Xsd::Rlmi::List &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -// Serialize to a new xercesc::DOMDocument. -// - -::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr<::xercesc::DOMDocument> -serializeList(const ::LinphonePrivate::Xsd::Rlmi::List &x, - const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap &m = - ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap(), - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); - -void operator<<(::xercesc::DOMElement &, const List &); - -void operator<<(::xercesc::DOMElement &, const Resource &); - -void operator<<(::xercesc::DOMElement &, const Instance &); - -void operator<<(::xercesc::DOMElement &, const Name &); - -void operator<<(::xercesc::DOMElement &, const State &); - -void operator<<(::xercesc::DOMAttr &, const State &); - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const State &); -} // namespace Rlmi -} // namespace Xsd -} // namespace LinphonePrivate +namespace LinphonePrivate +{ + namespace Xsd + { + namespace Rlmi + { + // Serialize to std::ostream. + // + + void + serializeList (::std::ostream& os, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeList (::std::ostream& os, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeList (::std::ostream& os, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serializeList (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeList (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + ::LinphonePrivate::Xsd::XmlSchema::ErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + serializeList (::xercesc::XMLFormatTarget& ft, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + ::xercesc::DOMErrorHandler& eh, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + const ::std::string& e = "UTF-8", + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serializeList (::xercesc::DOMDocument& d, + const ::LinphonePrivate::Xsd::Rlmi::List& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::LinphonePrivate::Xsd::XmlSchema::dom::unique_ptr< ::xercesc::DOMDocument > + serializeList (const ::LinphonePrivate::Xsd::Rlmi::List& x, + const ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap& m = ::LinphonePrivate::Xsd::XmlSchema::NamespaceInfomap (), + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0); + + void + operator<< (::xercesc::DOMElement&, const List&); + + void + operator<< (::xercesc::DOMElement&, const Resource&); + + void + operator<< (::xercesc::DOMElement&, const Instance&); + + void + operator<< (::xercesc::DOMElement&, const Name&); + + void + operator<< (::xercesc::DOMElement&, const State&); + + void + operator<< (::xercesc::DOMAttr&, const State&); + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const State&); + } + } +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/src/xml/xml.cpp b/src/xml/xml.cpp index bc9a0f4c24..9f8edee5e5 100644 --- a/src/xml/xml.cpp +++ b/src/xml/xml.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -21,18 +21,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -41,241 +41,361 @@ #include "xml.h" -namespace namespace_ { -// Lang -// - -Lang::Lang(const char *s) : ::LinphonePrivate::Xsd::XmlSchema::String(s) { -} - -Lang::Lang(const ::std::string &s) : ::LinphonePrivate::Xsd::XmlSchema::String(s) { -} - -Lang::Lang(const Lang &o, ::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(o, f, c) { -} - -// Space -// - -Space::Space(Value v) : ::LinphonePrivate::Xsd::XmlSchema::Ncname(_xsd_Space_literals_[v]) { -} - -Space::Space(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::Ncname(v) { -} - -Space::Space(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::Ncname(v) { -} - -Space::Space(const ::LinphonePrivate::Xsd::XmlSchema::Ncname &v) : ::LinphonePrivate::Xsd::XmlSchema::Ncname(v) { -} - -Space::Space(const Space &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Ncname(v, f, c) { -} - -Space &Space::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::Ncname &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::Ncname(_xsd_Space_literals_[v]); - - return *this; -} - -// Lang_member -// - -Lang_member::Lang_member(Value v) : ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_Lang_member_literals_[v]) { -} - -Lang_member::Lang_member(const char *v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { +namespace namespace_ +{ + // Lang + // + + Lang:: + Lang (const char* s) + : ::LinphonePrivate::Xsd::XmlSchema::String (s) + { + } + + Lang:: + Lang (const ::std::string& s) + : ::LinphonePrivate::Xsd::XmlSchema::String (s) + { + } + + Lang:: + Lang (const Lang& o, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (o, f, c) + { + } + + // Space + // + + Space:: + Space (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (_xsd_Space_literals_[v]) + { + } + + Space:: + Space (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (v) + { + } + + Space:: + Space (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (v) + { + } + + Space:: + Space (const ::LinphonePrivate::Xsd::XmlSchema::Ncname& v) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (v) + { + } + + Space:: + Space (const Space& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (v, f, c) + { + } + + Space& Space:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::Ncname& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::Ncname (_xsd_Space_literals_[v]); + + return *this; + } + + + // Lang_member + // + + Lang_member:: + Lang_member (Value v) + : ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_Lang_member_literals_[v]) + { + } + + Lang_member:: + Lang_member (const char* v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + Lang_member:: + Lang_member (const ::std::string& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + Lang_member:: + Lang_member (const ::LinphonePrivate::Xsd::XmlSchema::String& v) + : ::LinphonePrivate::Xsd::XmlSchema::String (v) + { + } + + Lang_member:: + Lang_member (const Lang_member& v, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (v, f, c) + { + } + + Lang_member& Lang_member:: + operator= (Value v) + { + static_cast< ::LinphonePrivate::Xsd::XmlSchema::String& > (*this) = + ::LinphonePrivate::Xsd::XmlSchema::String (_xsd_Lang_member_literals_[v]); + + return *this; + } } -Lang_member::Lang_member(const ::std::string &v) : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -Lang_member::Lang_member(const ::LinphonePrivate::Xsd::XmlSchema::String &v) - : ::LinphonePrivate::Xsd::XmlSchema::String(v) { -} - -Lang_member::Lang_member(const Lang_member &v, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(v, f, c) { -} - -Lang_member &Lang_member::operator=(Value v) { - static_cast<::LinphonePrivate::Xsd::XmlSchema::String &>(*this) = - ::LinphonePrivate::Xsd::XmlSchema::String(_xsd_Lang_member_literals_[v]); - - return *this; -} -} // namespace namespace_ - #include <xsd/cxx/xml/dom/wildcard-source.hxx> #include <xsd/cxx/xml/dom/parsing-source.hxx> #include <xsd/cxx/tree/type-factory-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_factory_plate<0, char> type_factory_plate_init; -} - -namespace namespace_ { -// Lang -// - -Lang::Lang(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { -} - -Lang::Lang(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { -} - -Lang::Lang(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { -} - -Lang *Lang::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Lang(*this, f, c); -} - -// Space -// - -Space::Space(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Ncname(e, f, c) { - _xsd_Space_convert(); -} - -Space::Space(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Ncname(a, f, c) { - _xsd_Space_convert(); +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace namespace_ +{ + // Lang + // + + Lang:: + Lang (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + } + + Lang:: + Lang (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + } + + Lang:: + Lang (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + } + + Lang* Lang:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Lang (*this, f, c); + } + + // Space + // + + Space:: + Space (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (e, f, c) + { + _xsd_Space_convert (); + } + + Space:: + Space (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (a, f, c) + { + _xsd_Space_convert (); + } + + Space:: + Space (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::Ncname (s, e, f, c) + { + _xsd_Space_convert (); + } + + Space* Space:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Space (*this, f, c); + } + + Space::Value Space:: + _xsd_Space_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_Space_literals_); + const Value* i (::std::lower_bound ( + _xsd_Space_indexes_, + _xsd_Space_indexes_ + 2, + *this, + c)); + + if (i == _xsd_Space_indexes_ + 2 || _xsd_Space_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const Space:: + _xsd_Space_literals_[2] = + { + "default", + "preserve" + }; + + const Space::Value Space:: + _xsd_Space_indexes_[2] = + { + ::namespace_::Space::default_, + ::namespace_::Space::preserve + }; + + // Lang_member + // + + Lang_member:: + Lang_member (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (e, f, c) + { + _xsd_Lang_member_convert (); + } + + Lang_member:: + Lang_member (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (a, f, c) + { + _xsd_Lang_member_convert (); + } + + Lang_member:: + Lang_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) + : ::LinphonePrivate::Xsd::XmlSchema::String (s, e, f, c) + { + _xsd_Lang_member_convert (); + } + + Lang_member* Lang_member:: + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f, + ::LinphonePrivate::Xsd::XmlSchema::Container* c) const + { + return new class Lang_member (*this, f, c); + } + + Lang_member::Value Lang_member:: + _xsd_Lang_member_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_Lang_member_literals_); + const Value* i (::std::lower_bound ( + _xsd_Lang_member_indexes_, + _xsd_Lang_member_indexes_ + 1, + *this, + c)); + + if (i == _xsd_Lang_member_indexes_ + 1 || _xsd_Lang_member_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const Lang_member:: + _xsd_Lang_member_literals_[1] = + { + "" + }; + + const Lang_member::Value Lang_member:: + _xsd_Lang_member_indexes_[1] = + { + ::namespace_::Lang_member::empty + }; } -Space::Space(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::Ncname(s, e, f, c) { - _xsd_Space_convert(); -} - -Space *Space::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Space(*this, f, c); -} - -Space::Value Space::_xsd_Space_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_Space_literals_); - const Value *i(::std::lower_bound(_xsd_Space_indexes_, _xsd_Space_indexes_ + 2, *this, c)); - - if (i == _xsd_Space_indexes_ + 2 || _xsd_Space_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const Space::_xsd_Space_literals_[2] = {"default", "preserve"}; - -const Space::Value Space::_xsd_Space_indexes_[2] = {::namespace_::Space::default_, ::namespace_::Space::preserve}; - -// Lang_member -// - -Lang_member::Lang_member(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(e, f, c) { - _xsd_Lang_member_convert(); -} - -Lang_member::Lang_member(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(a, f, c) { - _xsd_Lang_member_convert(); -} - -Lang_member::Lang_member(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) - : ::LinphonePrivate::Xsd::XmlSchema::String(s, e, f, c) { - _xsd_Lang_member_convert(); -} - -Lang_member *Lang_member::_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f, - ::LinphonePrivate::Xsd::XmlSchema::Container *c) const { - return new class Lang_member(*this, f, c); -} - -Lang_member::Value Lang_member::_xsd_Lang_member_convert() const { - ::xsd::cxx::tree::enum_comparator<char> c(_xsd_Lang_member_literals_); - const Value *i(::std::lower_bound(_xsd_Lang_member_indexes_, _xsd_Lang_member_indexes_ + 1, *this, c)); - - if (i == _xsd_Lang_member_indexes_ + 1 || _xsd_Lang_member_literals_[*i] != *this) { - throw ::xsd::cxx::tree::unexpected_enumerator<char>(*this); - } - - return *i; -} - -const char *const Lang_member::_xsd_Lang_member_literals_[1] = {""}; - -const Lang_member::Value Lang_member::_xsd_Lang_member_indexes_[1] = {::namespace_::Lang_member::empty}; -} // namespace namespace_ - #include <ostream> #include <xsd/cxx/tree/std-ostream-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::std_ostream_plate<0, char> std_ostream_plate_init; -} - -namespace namespace_ { -::std::ostream &operator<<(::std::ostream &o, const Lang &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); +namespace _xsd +{ + static + const ::xsd::cxx::tree::std_ostream_plate< 0, char > + std_ostream_plate_init; +} + +namespace namespace_ +{ + ::std::ostream& + operator<< (::std::ostream& o, const Lang& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, Space::Value i) + { + return o << Space::_xsd_Space_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Space& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Ncname& > (i); + } + + ::std::ostream& + operator<< (::std::ostream& o, Lang_member::Value i) + { + return o << Lang_member::_xsd_Lang_member_literals_[i]; + } + + ::std::ostream& + operator<< (::std::ostream& o, const Lang_member& i) + { + return o << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } } -::std::ostream &operator<<(::std::ostream &o, Space::Value i) { - return o << Space::_xsd_Space_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const Space &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Ncname &>(i); -} - -::std::ostream &operator<<(::std::ostream &o, Lang_member::Value i) { - return o << Lang_member::_xsd_Lang_member_literals_[i]; -} - -::std::ostream &operator<<(::std::ostream &o, const Lang_member &i) { - return o << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} -} // namespace namespace_ - #include <istream> -#include <xsd/cxx/tree/error-handler.hxx> #include <xsd/cxx/xml/sax/std-input-source.hxx> +#include <xsd/cxx/tree/error-handler.hxx> -namespace namespace_ {} +namespace namespace_ +{ +} #include <ostream> #include <xsd/cxx/tree/error-handler.hxx> @@ -283,60 +403,86 @@ namespace namespace_ {} #include <xsd/cxx/tree/type-serializer-map.hxx> -namespace _xsd { -static const ::xsd::cxx::tree::type_serializer_plate<0, char> type_serializer_plate_init; -} - -namespace namespace_ { -void operator<<(::xercesc::DOMElement &e, const Lang &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const Lang &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const Lang &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace namespace_ +{ + void + operator<< (::xercesc::DOMElement& e, const Lang& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Lang& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const Lang& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const Space& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Ncname& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Space& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Ncname& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const Space& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::Ncname& > (i); + } + + void + operator<< (::xercesc::DOMElement& e, const Lang_member& i) + { + e << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Lang_member& i) + { + a << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } + + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream& l, + const Lang_member& i) + { + l << static_cast< const ::LinphonePrivate::Xsd::XmlSchema::String& > (i); + } } -void operator<<(::xercesc::DOMElement &e, const Space &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Ncname &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const Space &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Ncname &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const Space &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::Ncname &>(i); -} - -void operator<<(::xercesc::DOMElement &e, const Lang_member &i) { - e << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::xercesc::DOMAttr &a, const Lang_member &i) { - a << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} - -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &l, const Lang_member &i) { - l << static_cast<const ::LinphonePrivate::Xsd::XmlSchema::String &>(i); -} -} // namespace namespace_ - #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. + diff --git a/src/xml/xml.h b/src/xml/xml.h index e24372f617..e12923aae1 100644 --- a/src/xml/xml.h +++ b/src/xml/xml.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2022 Belledonne Communications SARL. + * Copyright (c) 2010-2023 Belledonne Communications SARL. * * This file is part of Liblinphone * (see https://gitlab.linphone.org/BC/public/liblinphone). @@ -36,18 +36,18 @@ // Begin prologue. // #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wsign-conversion" -#pragma GCC diagnostic ignored "-Wconversion" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" + #pragma GCC diagnostic ignored "-Wsign-conversion" + #pragma GCC diagnostic ignored "-Wconversion" #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsuggest-override" + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if __GNUC__ >= 7 -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" +#if __GNUC__ >=7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough" #endif // // End prologue. @@ -62,8 +62,8 @@ #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/types.hxx> #include <xsd/cxx/xml/error-handler.hxx> @@ -71,358 +71,395 @@ #include <xsd/cxx/xml/dom/auto-ptr.hxx> #include <xsd/cxx/tree/parsing.hxx> -#include <xsd/cxx/tree/parsing/boolean.hxx> #include <xsd/cxx/tree/parsing/byte.hxx> -#include <xsd/cxx/tree/parsing/decimal.hxx> -#include <xsd/cxx/tree/parsing/double.hxx> -#include <xsd/cxx/tree/parsing/float.hxx> -#include <xsd/cxx/tree/parsing/int.hxx> -#include <xsd/cxx/tree/parsing/long.hxx> -#include <xsd/cxx/tree/parsing/short.hxx> #include <xsd/cxx/tree/parsing/unsigned-byte.hxx> +#include <xsd/cxx/tree/parsing/short.hxx> +#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/int.hxx> #include <xsd/cxx/tree/parsing/unsigned-int.hxx> +#include <xsd/cxx/tree/parsing/long.hxx> #include <xsd/cxx/tree/parsing/unsigned-long.hxx> -#include <xsd/cxx/tree/parsing/unsigned-short.hxx> +#include <xsd/cxx/tree/parsing/boolean.hxx> +#include <xsd/cxx/tree/parsing/float.hxx> +#include <xsd/cxx/tree/parsing/double.hxx> +#include <xsd/cxx/tree/parsing/decimal.hxx> +#include <xsd/cxx/xml/dom/serialization-header.hxx> #include <xsd/cxx/tree/serialization.hxx> -#include <xsd/cxx/tree/serialization/boolean.hxx> #include <xsd/cxx/tree/serialization/byte.hxx> -#include <xsd/cxx/tree/serialization/decimal.hxx> -#include <xsd/cxx/tree/serialization/double.hxx> -#include <xsd/cxx/tree/serialization/float.hxx> -#include <xsd/cxx/tree/serialization/int.hxx> -#include <xsd/cxx/tree/serialization/long.hxx> -#include <xsd/cxx/tree/serialization/short.hxx> #include <xsd/cxx/tree/serialization/unsigned-byte.hxx> +#include <xsd/cxx/tree/serialization/short.hxx> +#include <xsd/cxx/tree/serialization/unsigned-short.hxx> +#include <xsd/cxx/tree/serialization/int.hxx> #include <xsd/cxx/tree/serialization/unsigned-int.hxx> +#include <xsd/cxx/tree/serialization/long.hxx> #include <xsd/cxx/tree/serialization/unsigned-long.hxx> -#include <xsd/cxx/tree/serialization/unsigned-short.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> +#include <xsd/cxx/tree/serialization/boolean.hxx> +#include <xsd/cxx/tree/serialization/float.hxx> +#include <xsd/cxx/tree/serialization/double.hxx> +#include <xsd/cxx/tree/serialization/decimal.hxx> #include <xsd/cxx/tree/std-ostream-operators.hxx> -namespace LinphonePrivate { -namespace Xsd { -namespace XmlSchema { -// anyType and anySimpleType. -// -typedef ::xsd::cxx::tree::type Type; -typedef ::xsd::cxx::tree::simple_type<char, Type> SimpleType; -typedef ::xsd::cxx::tree::type Container; - -// 8-bit -// -typedef signed char Byte; -typedef unsigned char UnsignedByte; - -// 16-bit -// -typedef short Short; -typedef unsigned short UnsignedShort; - -// 32-bit -// -typedef int Int; -typedef unsigned int UnsignedInt; - -// 64-bit -// -typedef long long Long; -typedef unsigned long long UnsignedLong; - -// Supposed to be arbitrary-length integral types. -// -typedef long long Integer; -typedef long long NonPositiveInteger; -typedef unsigned long long NonNegativeInteger; -typedef unsigned long long PositiveInteger; -typedef long long NegativeInteger; - -// Boolean. -// -typedef bool Boolean; - -// Floating-point types. -// -typedef float Float; -typedef double Double; -typedef double Decimal; - -// String types. -// -typedef ::xsd::cxx::tree::string<char, SimpleType> String; -typedef ::xsd::cxx::tree::normalized_string<char, String> NormalizedString; -typedef ::xsd::cxx::tree::token<char, NormalizedString> Token; -typedef ::xsd::cxx::tree::name<char, Token> Name; -typedef ::xsd::cxx::tree::nmtoken<char, Token> Nmtoken; -typedef ::xsd::cxx::tree::nmtokens<char, SimpleType, Nmtoken> Nmtokens; -typedef ::xsd::cxx::tree::ncname<char, Name> Ncname; -typedef ::xsd::cxx::tree::language<char, Token> Language; - -// ID/IDREF. -// -typedef ::xsd::cxx::tree::id<char, Ncname> Id; -typedef ::xsd::cxx::tree::idref<char, Ncname, Type> Idref; -typedef ::xsd::cxx::tree::idrefs<char, SimpleType, Idref> Idrefs; - -// URI. -// -typedef ::xsd::cxx::tree::uri<char, SimpleType> Uri; - -// Qualified name. -// -typedef ::xsd::cxx::tree::qname<char, SimpleType, Uri, Ncname> Qname; - -// Binary. -// -typedef ::xsd::cxx::tree::buffer<char> Buffer; -typedef ::xsd::cxx::tree::base64_binary<char, SimpleType> Base64Binary; -typedef ::xsd::cxx::tree::hex_binary<char, SimpleType> HexBinary; - -// Date/time. -// -typedef ::xsd::cxx::tree::time_zone TimeZone; -typedef ::xsd::cxx::tree::date<char, SimpleType> Date; -typedef ::xsd::cxx::tree::date_time<char, SimpleType> DateTime; -typedef ::xsd::cxx::tree::duration<char, SimpleType> Duration; -typedef ::xsd::cxx::tree::gday<char, SimpleType> Gday; -typedef ::xsd::cxx::tree::gmonth<char, SimpleType> Gmonth; -typedef ::xsd::cxx::tree::gmonth_day<char, SimpleType> GmonthDay; -typedef ::xsd::cxx::tree::gyear<char, SimpleType> Gyear; -typedef ::xsd::cxx::tree::gyear_month<char, SimpleType> GyearMonth; -typedef ::xsd::cxx::tree::time<char, SimpleType> Time; - -// Entity. -// -typedef ::xsd::cxx::tree::entity<char, Ncname> Entity; -typedef ::xsd::cxx::tree::entities<char, SimpleType, Entity> Entities; - -typedef ::xsd::cxx::tree::content_order ContentOrder; -// Namespace information and list stream. Used in -// serialization functions. -// -typedef ::xsd::cxx::xml::dom::namespace_info<char> NamespaceInfo; -typedef ::xsd::cxx::xml::dom::namespace_infomap<char> NamespaceInfomap; -typedef ::xsd::cxx::tree::list_stream<char> ListStream; -typedef ::xsd::cxx::tree::as_double<Double> AsDouble; -typedef ::xsd::cxx::tree::as_decimal<Decimal> AsDecimal; -typedef ::xsd::cxx::tree::facet Facet; - -// Flags and properties. -// -typedef ::xsd::cxx::tree::flags Flags; -typedef ::xsd::cxx::tree::properties<char> Properties; - -// Parsing/serialization diagnostics. -// -typedef ::xsd::cxx::tree::severity Severity; -typedef ::xsd::cxx::tree::error<char> Error; -typedef ::xsd::cxx::tree::diagnostics<char> Diagnostics; - -// Exceptions. -// -typedef ::xsd::cxx::tree::exception<char> Exception; -typedef ::xsd::cxx::tree::bounds<char> Bounds; -typedef ::xsd::cxx::tree::duplicate_id<char> DuplicateId; -typedef ::xsd::cxx::tree::parsing<char> Parsing; -typedef ::xsd::cxx::tree::expected_element<char> ExpectedElement; -typedef ::xsd::cxx::tree::unexpected_element<char> UnexpectedElement; -typedef ::xsd::cxx::tree::expected_attribute<char> ExpectedAttribute; -typedef ::xsd::cxx::tree::unexpected_enumerator<char> UnexpectedEnumerator; -typedef ::xsd::cxx::tree::expected_text_content<char> ExpectedTextContent; -typedef ::xsd::cxx::tree::no_prefix_mapping<char> NoPrefixMapping; -typedef ::xsd::cxx::tree::no_type_info<char> NoTypeInfo; -typedef ::xsd::cxx::tree::not_derived<char> NotDerived; -typedef ::xsd::cxx::tree::serialization<char> Serialization; - -// Error handler callback interface. -// -typedef ::xsd::cxx::xml::error_handler<char> ErrorHandler; - -// DOM interaction. -// -namespace dom { -// Automatic pointer for DOMDocument. -// -using ::xsd::cxx::xml::dom::unique_ptr; +namespace LinphonePrivate +{ + namespace Xsd + { + namespace XmlSchema + { + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type Type; + typedef ::xsd::cxx::tree::simple_type< char, Type > SimpleType; + typedef ::xsd::cxx::tree::type Container; + + // 8-bit + // + typedef signed char Byte; + typedef unsigned char UnsignedByte; + + // 16-bit + // + typedef short Short; + typedef unsigned short UnsignedShort; + + // 32-bit + // + typedef int Int; + typedef unsigned int UnsignedInt; + + // 64-bit + // + typedef long long Long; + typedef unsigned long long UnsignedLong; + + // Supposed to be arbitrary-length integral types. + // + typedef long long Integer; + typedef long long NonPositiveInteger; + typedef unsigned long long NonNegativeInteger; + typedef unsigned long long PositiveInteger; + typedef long long NegativeInteger; + + // Boolean. + // + typedef bool Boolean; + + // Floating-point types. + // + typedef float Float; + typedef double Double; + typedef double Decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, SimpleType > String; + typedef ::xsd::cxx::tree::normalized_string< char, String > NormalizedString; + typedef ::xsd::cxx::tree::token< char, NormalizedString > Token; + typedef ::xsd::cxx::tree::name< char, Token > Name; + typedef ::xsd::cxx::tree::nmtoken< char, Token > Nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, SimpleType, Nmtoken > Nmtokens; + typedef ::xsd::cxx::tree::ncname< char, Name > Ncname; + typedef ::xsd::cxx::tree::language< char, Token > Language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, Ncname > Id; + typedef ::xsd::cxx::tree::idref< char, Ncname, Type > Idref; + typedef ::xsd::cxx::tree::idrefs< char, SimpleType, Idref > Idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, SimpleType > Uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, SimpleType, Uri, Ncname > Qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > Buffer; + typedef ::xsd::cxx::tree::base64_binary< char, SimpleType > Base64Binary; + typedef ::xsd::cxx::tree::hex_binary< char, SimpleType > HexBinary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone TimeZone; + typedef ::xsd::cxx::tree::date< char, SimpleType > Date; + typedef ::xsd::cxx::tree::date_time< char, SimpleType > DateTime; + typedef ::xsd::cxx::tree::duration< char, SimpleType > Duration; + typedef ::xsd::cxx::tree::gday< char, SimpleType > Gday; + typedef ::xsd::cxx::tree::gmonth< char, SimpleType > Gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, SimpleType > GmonthDay; + typedef ::xsd::cxx::tree::gyear< char, SimpleType > Gyear; + typedef ::xsd::cxx::tree::gyear_month< char, SimpleType > GyearMonth; + typedef ::xsd::cxx::tree::time< char, SimpleType > Time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, Ncname > Entity; + typedef ::xsd::cxx::tree::entities< char, SimpleType, Entity > Entities; + + typedef ::xsd::cxx::tree::content_order ContentOrder; + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > NamespaceInfo; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > NamespaceInfomap; + typedef ::xsd::cxx::tree::list_stream< char > ListStream; + typedef ::xsd::cxx::tree::as_double< Double > AsDouble; + typedef ::xsd::cxx::tree::as_decimal< Decimal > AsDecimal; + typedef ::xsd::cxx::tree::facet Facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags Flags; + typedef ::xsd::cxx::tree::properties< char > Properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity Severity; + typedef ::xsd::cxx::tree::error< char > Error; + typedef ::xsd::cxx::tree::diagnostics< char > Diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > Exception; + typedef ::xsd::cxx::tree::bounds< char > Bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > DuplicateId; + typedef ::xsd::cxx::tree::parsing< char > Parsing; + typedef ::xsd::cxx::tree::expected_element< char > ExpectedElement; + typedef ::xsd::cxx::tree::unexpected_element< char > UnexpectedElement; + typedef ::xsd::cxx::tree::expected_attribute< char > ExpectedAttribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > UnexpectedEnumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > ExpectedTextContent; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > NoPrefixMapping; + typedef ::xsd::cxx::tree::no_type_info< char > NoTypeInfo; + typedef ::xsd::cxx::tree::not_derived< char > NotDerived; + typedef ::xsd::cxx::tree::serialization< char > Serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > ErrorHandler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::unique_ptr; #ifndef XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA #define XSD_CXX_TREE_TREE_NODE_KEY__LINPHONEPRIVATE__XSD__XMLSCHEMA -// DOM user data key for back pointers to tree nodes. -// -const XMLCh *const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const treeNodeKey = ::xsd::cxx::tree::user_data_keys::node; #endif -} // namespace dom -} // namespace XmlSchema -} // namespace Xsd -} // namespace LinphonePrivate + } + } + } +} // Forward declarations. // -namespace namespace_ { -class Lang; -class Space; -class Lang_member; -} // namespace namespace_ +namespace namespace_ +{ + class Lang; + class Space; + class Lang_member; +} + -#include <algorithm> // std::binary_search -#include <limits> // std::numeric_limits #include <memory> // ::std::unique_ptr +#include <limits> // std::numeric_limits +#include <algorithm> // std::binary_search #include <utility> // std::move #include <xsd/cxx/xml/char-utf8.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/elements.hxx> #include <xsd/cxx/tree/exceptions.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/containers.hxx> #include <xsd/cxx/tree/list.hxx> #include <xsd/cxx/xml/dom/parsing-header.hxx> #include <xsd/cxx/tree/containers-wildcard.hxx> -namespace namespace_ { -class Lang : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - Lang(const char *v); +namespace namespace_ +{ + class Lang: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + + Lang (const char* v); - Lang(const ::std::string &v); + Lang (const ::std::string& v); - Lang(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang(const Lang &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang (const Lang& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual Lang *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; -}; + virtual Lang* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; + }; -class Space : public ::LinphonePrivate::Xsd::XmlSchema::Ncname { -public: - enum Value { default_, preserve }; + class Space: public ::LinphonePrivate::Xsd::XmlSchema::Ncname + { + public: + enum Value + { + default_, + preserve + }; - Space(Value v); + Space (Value v); - Space(const char *v); + Space (const char* v); - Space(const ::std::string &v); + Space (const ::std::string& v); - Space(const ::LinphonePrivate::Xsd::XmlSchema::Ncname &v); + Space (const ::LinphonePrivate::Xsd::XmlSchema::Ncname& v); - Space(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Space (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Space(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Space (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Space(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Space (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Space(const Space &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Space (const Space& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual Space *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual Space* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Space &operator=(Value v); + Space& + operator= (Value v); - virtual operator Value() const { - return _xsd_Space_convert(); - } + virtual + operator Value () const + { + return _xsd_Space_convert (); + } -protected: - Value _xsd_Space_convert() const; + protected: + Value + _xsd_Space_convert () const; -public: - static const char *const _xsd_Space_literals_[2]; - static const Value _xsd_Space_indexes_[2]; -}; + public: + static const char* const _xsd_Space_literals_[2]; + static const Value _xsd_Space_indexes_[2]; + }; -class Lang_member : public ::LinphonePrivate::Xsd::XmlSchema::String { -public: - enum Value { empty }; + class Lang_member: public ::LinphonePrivate::Xsd::XmlSchema::String + { + public: + enum Value + { + empty + }; - Lang_member(Value v); + Lang_member (Value v); - Lang_member(const char *v); + Lang_member (const char* v); - Lang_member(const ::std::string &v); + Lang_member (const ::std::string& v); - Lang_member(const ::LinphonePrivate::Xsd::XmlSchema::String &v); + Lang_member (const ::LinphonePrivate::Xsd::XmlSchema::String& v); - Lang_member(const ::xercesc::DOMElement &e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang_member (const ::xercesc::DOMElement& e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang_member(const ::xercesc::DOMAttr &a, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang_member (const ::xercesc::DOMAttr& a, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang_member(const ::std::string &s, - const ::xercesc::DOMElement *e, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - Lang_member(const Lang_member &x, - ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0); + Lang_member (const Lang_member& x, + ::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0); - virtual Lang_member *_clone(::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, - ::LinphonePrivate::Xsd::XmlSchema::Container *c = 0) const; + virtual Lang_member* + _clone (::LinphonePrivate::Xsd::XmlSchema::Flags f = 0, + ::LinphonePrivate::Xsd::XmlSchema::Container* c = 0) const; - Lang_member &operator=(Value v); + Lang_member& + operator= (Value v); - virtual operator Value() const { - return _xsd_Lang_member_convert(); - } + virtual + operator Value () const + { + return _xsd_Lang_member_convert (); + } -protected: - Value _xsd_Lang_member_convert() const; + protected: + Value + _xsd_Lang_member_convert () const; -public: - static const char *const _xsd_Lang_member_literals_[1]; - static const Value _xsd_Lang_member_indexes_[1]; -}; -} // namespace namespace_ + public: + static const char* const _xsd_Lang_member_literals_[1]; + static const Value _xsd_Lang_member_indexes_[1]; + }; +} #include <iosfwd> -namespace namespace_ { -::std::ostream &operator<<(::std::ostream &, const Lang &); +namespace namespace_ +{ + ::std::ostream& + operator<< (::std::ostream&, const Lang&); -::std::ostream &operator<<(::std::ostream &, Space::Value); + ::std::ostream& + operator<< (::std::ostream&, Space::Value); -::std::ostream &operator<<(::std::ostream &, const Space &); + ::std::ostream& + operator<< (::std::ostream&, const Space&); -::std::ostream &operator<<(::std::ostream &, Lang_member::Value); + ::std::ostream& + operator<< (::std::ostream&, Lang_member::Value); -::std::ostream &operator<<(::std::ostream &, const Lang_member &); -} // namespace namespace_ + ::std::ostream& + operator<< (::std::ostream&, const Lang_member&); +} #include <iosfwd> +#include <xercesc/sax/InputSource.hpp> #include <xercesc/dom/DOMDocument.hpp> #include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/sax/InputSource.hpp> -namespace namespace_ {} +namespace namespace_ +{ +} #include <iosfwd> @@ -432,38 +469,51 @@ namespace namespace_ {} #include <xsd/cxx/xml/dom/auto-ptr.hxx> -namespace namespace_ { -void operator<<(::xercesc::DOMElement &, const Lang &); +namespace namespace_ +{ + void + operator<< (::xercesc::DOMElement&, const Lang&); -void operator<<(::xercesc::DOMAttr &, const Lang &); + void + operator<< (::xercesc::DOMAttr&, const Lang&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Lang &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Lang&); -void operator<<(::xercesc::DOMElement &, const Space &); + void + operator<< (::xercesc::DOMElement&, const Space&); -void operator<<(::xercesc::DOMAttr &, const Space &); + void + operator<< (::xercesc::DOMAttr&, const Space&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Space &); + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Space&); -void operator<<(::xercesc::DOMElement &, const Lang_member &); + void + operator<< (::xercesc::DOMElement&, const Lang_member&); -void operator<<(::xercesc::DOMAttr &, const Lang_member &); + void + operator<< (::xercesc::DOMAttr&, const Lang_member&); -void operator<<(::LinphonePrivate::Xsd::XmlSchema::ListStream &, const Lang_member &); -} // namespace namespace_ + void + operator<< (::LinphonePrivate::Xsd::XmlSchema::ListStream&, + const Lang_member&); +} #include <xsd/cxx/post.hxx> // Begin epilogue. // #if __GNUC__ >= 7 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1) -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif #if __clang__ || __GNUC__ >= 4 -#pragma GCC diagnostic pop + #pragma GCC diagnostic pop #endif // // End epilogue. diff --git a/tester/audio_video_conference_tester.c b/tester/audio_video_conference_tester.c index 0e36f63742..bd1199fe29 100644 --- a/tester/audio_video_conference_tester.c +++ b/tester/audio_video_conference_tester.c @@ -239,7 +239,7 @@ set_video_in_conference(bctbx_list_t *lcs, LinphoneCoreManager *conf, bctbx_list stats *initial_stats = NULL; bool_t *initial_video_call = NULL; - int *initial_video_streams = NULL; + size_t *initial_video_streams = NULL; int idx = 0; for (bctbx_list_t *it = participants; it; it = bctbx_list_next(it)) { LinphoneCoreManager *m = (LinphoneCoreManager *)bctbx_list_get_data(it); @@ -247,7 +247,7 @@ set_video_in_conference(bctbx_list_t *lcs, LinphoneCoreManager *conf, bctbx_list // Allocate memory initial_stats = (stats *)realloc(initial_stats, (idx + 1) * sizeof(stats)); initial_video_call = (bool_t *)realloc(initial_video_call, (idx + 1) * sizeof(bool_t)); - initial_video_streams = (int *)realloc(initial_video_streams, (idx + 1) * sizeof(int)); + initial_video_streams = (size_t *)realloc(initial_video_streams, (idx + 1) * sizeof(int)); // Append element initial_stats[idx] = m->stat; LinphoneCall *call = linphone_core_get_call_by_remote_address2(conf->lc, m->identity); @@ -394,7 +394,7 @@ set_video_in_conference(bctbx_list_t *lcs, LinphoneCoreManager *conf, bctbx_list nb_video_streams = local_conf_participants + ((layout == LinphoneConferenceLayoutActiveSpeaker) ? 1 : 0) + (linphone_conference_is_in(conference) ? 1 : 0); } else { - nb_video_streams = initial_video_streams[idx]; + nb_video_streams = (int)initial_video_streams[idx]; } check_nb_streams(conf, m, nb_audio_streams, nb_video_streams, 0); @@ -3122,6 +3122,9 @@ static void simple_conference_with_subject_change_from_admin_base(bool_t enable_ ms_free(initial_participants_stats); initial_participants_stats = NULL; + // need time to finish all communications + wait_for_list(lcs, NULL, 1, 5000); + for (bctbx_list_t *it = all_manangers_in_conf; it; it = bctbx_list_next(it)) { LinphoneCoreManager *m = (LinphoneCoreManager *)bctbx_list_get_data(it); @@ -3141,9 +3144,6 @@ static void simple_conference_with_subject_change_from_admin_base(bool_t enable_ } bctbx_list_free(all_manangers_in_conf); - // need time to finish all communications - wait_for_list(lcs, NULL, 1, 5000); - terminate_conference(participants, marie, NULL, (LinphoneCoreManager *)focus); linphone_conference_unref(conf); @@ -10675,7 +10675,22 @@ static void simple_conference_with_multi_device(void) { } #endif -static void simple_conference_with_participant_with_no_event_log(void) { +static void simple_conference_with_local_participant_with_no_event_log(void) { + LinphoneCoreManager *marie = create_mgr_for_conference("marie_rc", TRUE, NULL); + linphone_config_set_bool(linphone_core_get_config(marie->lc), "misc", "conference_event_log_enabled", FALSE); + linphone_core_enable_conference_server(marie->lc, TRUE); + LinphoneCoreManager *pauline = create_mgr_for_conference("pauline_tcp_rc", TRUE, NULL); + LinphoneCoreManager *laure = + create_mgr_for_conference(liblinphone_tester_ipv6_available() ? "laure_tcp_rc" : "laure_rc_udp", TRUE, NULL); + + simple_conference_base(marie, pauline, laure, NULL, FALSE); + + destroy_mgr_in_conference(pauline); + destroy_mgr_in_conference(laure); + destroy_mgr_in_conference(marie); +} + +static void simple_conference_with_remote_participant_with_no_event_log(void) { LinphoneCoreManager *marie = create_mgr_for_conference("marie_rc", TRUE, NULL); linphone_core_enable_conference_server(marie->lc, TRUE); LinphoneCoreManager *pauline = create_mgr_for_conference("pauline_tcp_rc", TRUE, NULL); @@ -12035,8 +12050,10 @@ test_t audio_video_conference_basic_tests[] = { TEST_NO_TAG("Simple conference notify muted device", simple_conference_notify_muted_device), TEST_NO_TAG("Simple conference established before proxy config is created", simple_conference_established_before_proxy_config_creation), - TEST_NO_TAG("Simple conference with participant with no event log", - simple_conference_with_participant_with_no_event_log), + TEST_NO_TAG("Simple conference with local participant with no event log", + simple_conference_with_local_participant_with_no_event_log), + TEST_NO_TAG("Simple conference with remote participant with no event log", + simple_conference_with_remote_participant_with_no_event_log), TEST_NO_TAG("Simple conference with admin changed", simple_conference_with_admin_changed), TEST_NO_TAG("Simple conference with participant removal from non admin", simple_conference_with_participant_removal_from_non_admin), diff --git a/tester/local_conference_tester.cpp b/tester/local_conference_tester.cpp index 965b80f60c..49e2df36f3 100644 --- a/tester/local_conference_tester.cpp +++ b/tester/local_conference_tester.cpp @@ -5841,7 +5841,8 @@ static void check_conference_info(LinphoneCoreManager *mgr, const char *subject, const char *description, unsigned int sequence, - LinphoneConferenceInfoState state) { + LinphoneConferenceInfoState state, + LinphoneConferenceSecurityLevel security_level) { LinphoneConferenceInfo *info = linphone_core_find_conference_information_from_uri(mgr->lc, confAddr); if (BC_ASSERT_PTR_NOT_NULL(info)) { BC_ASSERT_TRUE(linphone_address_weak_equal(organizer->identity, linphone_conference_info_get_organizer(info))); @@ -5850,6 +5851,7 @@ static void check_conference_info(LinphoneCoreManager *mgr, bctbx_list_t *info_participants = linphone_conference_info_get_participants(info); BC_ASSERT_EQUAL(bctbx_list_size(info_participants), no_members, size_t, "%zu"); bctbx_list_free(info_participants); + BC_ASSERT_EQUAL((int)linphone_conference_info_get_security_level(info), (int)security_level, int, "%0d"); if (start_time > 0) { BC_ASSERT_EQUAL((long long)linphone_conference_info_get_date_time(info), start_time, long long, "%lld"); @@ -5899,7 +5901,8 @@ static LinphoneAddress *create_conference_on_server(Focus &focus, time_t end_time, const char *subject, const char *description, - bool_t send_ics) { + bool_t send_ics, + LinphoneConferenceSecurityLevel security_level) { bctbx_list_t *coresList = bctbx_list_append(NULL, focus.getLc()); coresList = bctbx_list_append(coresList, organizer.getLc()); std::vector<stats> participant_stats; @@ -5957,6 +5960,7 @@ static LinphoneAddress *create_conference_on_server(Focus &focus, linphone_conference_info_set_date_time(conf_info, start_time); linphone_conference_info_set_subject(conf_info, subject); linphone_conference_info_set_description(conf_info, description); + linphone_conference_info_set_security_level(conf_info, security_level); linphone_conference_scheduler_set_info(conference_scheduler, conf_info); linphone_conference_info_unref(conf_info); @@ -6070,7 +6074,7 @@ static LinphoneAddress *create_conference_on_server(Focus &focus, check_conference_info(organizer.getCMgr(), conference_address, organizer.getCMgr(), organizer_expected_participant_number, start_time, ((start_time > 0) && (end_time > 0)) ? (int)(end_time - start_time) / 60 : 0, subject, - description, 0, LinphoneConferenceInfoStateNew); + description, 0, LinphoneConferenceInfoStateNew, security_level); idx = 0; for (auto &mgr : participants) { @@ -6215,10 +6219,12 @@ static LinphoneAddress *create_conference_on_server(Focus &focus, if (!BC_ASSERT_PTR_NOT_NULL(conf_info_in_db)) { goto end; } - check_conference_info( - mgr, conference_address, organizer.getCMgr(), participant_expected_participant_number, - start_time, ((start_time > 0) && (end_time > 0)) ? (int)(end_time - start_time) / 60 : 0, - subject, (!!send_ics) ? description : NULL, 0, LinphoneConferenceInfoStateNew); + // Encryption is None because we haven't received yet the NOTIFY full stae with this information + check_conference_info(mgr, conference_address, organizer.getCMgr(), + participant_expected_participant_number, start_time, + ((start_time > 0) && (end_time > 0)) ? (int)(end_time - start_time) / 60 : 0, + subject, (!!send_ics) ? description : NULL, 0, LinphoneConferenceInfoStateNew, + LinphoneConferenceSecurityLevelNone); if (!!send_ics) { for (auto &p : participants) { linphone_conference_info_check_participant(conf_info_in_db, p->identity, 0); @@ -6244,7 +6250,7 @@ static LinphoneAddress *create_conference_on_server(Focus &focus, check_conference_info(organizer.getCMgr(), conference_address, organizer.getCMgr(), organizer_expected_participant_number, start_time, (((start_time > 0) && (end_time > 0)) ? (int)(end_time - start_time) / 60 : 0), - subject, description, 0, LinphoneConferenceInfoStateNew); + subject, description, 0, LinphoneConferenceInfoStateNew, security_level); } BC_ASSERT_EQUAL(organizer.getStats().number_of_LinphoneConferenceStateTerminationPending, @@ -6272,29 +6278,41 @@ end: static size_t compute_no_video_streams(bool_t enable_video, LinphoneCall *call, LinphoneConference *conference) { size_t nb_video_streams = 0; + bool_t is_in_conference = linphone_call_is_in_conference(call); const LinphoneCallParams *call_params = - linphone_call_is_in_conference(call) ? linphone_call_get_remote_params(call) : linphone_call_get_params(call); + is_in_conference ? linphone_call_get_remote_params(call) : linphone_call_get_params(call); bool_t call_video_enabled = linphone_call_params_video_enabled(call_params); LinphoneMediaDirection call_video_dir = linphone_call_params_get_video_direction(call_params); LinphoneConferenceLayout call_video_layout = linphone_call_params_get_conference_video_layout(call_params); + LinphoneConferenceSecurityLevel conference_security_level = + linphone_conference_params_get_security_level(linphone_conference_get_current_params(conference)); + if (enable_video && call_video_enabled && (call_video_dir != LinphoneMediaDirectionInactive)) { bctbx_list_t *devices = linphone_conference_get_participant_device_list(conference); for (bctbx_list_t *itd = devices; itd; itd = bctbx_list_next(itd)) { LinphoneParticipantDevice *d = (LinphoneParticipantDevice *)bctbx_list_get_data(itd); LinphoneMediaDirection dir = linphone_participant_device_get_stream_capability(d, LinphoneStreamTypeVideo); - if ((dir == LinphoneMediaDirectionSendRecv) || (dir == LinphoneMediaDirectionSendOnly)) { + const LinphoneAddress *device_address = linphone_participant_device_get_address(d); + bool_t is_me = is_in_conference + ? linphone_address_weak_equal(device_address, linphone_call_get_remote_address(call)) + : linphone_conference_is_me(conference, device_address); + bool_t dir_has_send_component = + ((dir == LinphoneMediaDirectionSendRecv) || (dir == LinphoneMediaDirectionSendOnly)); + if (dir_has_send_component) { + if (is_me || ((call_video_layout == LinphoneConferenceLayoutActiveSpeaker) && + (conference_security_level == LinphoneConferenceSecurityLevelEndToEnd))) { + nb_video_streams += 2; + } else { + nb_video_streams++; + } + } else if (is_me && (call_video_layout == LinphoneConferenceLayoutActiveSpeaker) && + (dir == LinphoneMediaDirectionRecvOnly)) { nb_video_streams++; } } bctbx_list_free_with_data(devices, (void (*)(void *))linphone_participant_device_unref); - - if (((call_video_layout == LinphoneConferenceLayoutActiveSpeaker) && - (call_video_dir == LinphoneMediaDirectionRecvOnly)) || - (call_video_dir == LinphoneMediaDirectionSendRecv) || (call_video_dir == LinphoneMediaDirectionSendOnly)) { - nb_video_streams += 1; - } } else { nb_video_streams = 0; } @@ -6302,6 +6320,20 @@ static size_t compute_no_video_streams(bool_t enable_video, LinphoneCall *call, return nb_video_streams; } +static size_t compute_no_audio_streams(LinphoneConference *conference) { + size_t nb_audio_streams = 0; + const LinphoneConferenceParams *conference_params = linphone_conference_get_current_params(conference); + if (linphone_conference_params_get_security_level(conference_params) == LinphoneConferenceSecurityLevelEndToEnd) { + bctbx_list_t *devices = linphone_conference_get_participant_device_list(conference); + nb_audio_streams = bctbx_list_size(devices); + bctbx_list_free_with_data(devices, (void (*)(void *))linphone_participant_device_unref); + } else { + nb_audio_streams = 1; + } + + return nb_audio_streams; +} + static void wait_for_conference_streams(std::initializer_list<std::reference_wrapper<CoreManager>> coreMgrs, std::list<LinphoneCoreManager *> conferenceMgrs, LinphoneCoreManager *focus, @@ -6312,7 +6344,6 @@ static void wait_for_conference_streams(std::initializer_list<std::reference_wra // wait bit more to detect side effect if any BC_ASSERT_TRUE(CoreManagerAssert(coreMgrs).waitUntil(chrono::seconds(50), [mgr, &focus, &members, confAddr, enable_video] { - size_t nb_audio_streams = 1; size_t nb_text_streams = 0; std::list<LinphoneCall *> calls; @@ -6341,11 +6372,11 @@ static void wait_for_conference_streams(std::initializer_list<std::reference_wra calls.push_back(nullptr); } } - call_ok &= (calls.size() > 0); LinphoneConference *conference = linphone_core_search_conference_2(mgr->lc, confAddr); for (auto call : calls) { if (call) { + size_t nb_audio_streams = compute_no_audio_streams(conference); size_t nb_video_streams = compute_no_video_streams(enable_video, call, conference); const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); call_ok &= ((call_result_desc->nbActiveStreamsOfType(SalAudio) == nb_audio_streams) && @@ -6353,7 +6384,6 @@ static void wait_for_conference_streams(std::initializer_list<std::reference_wra (call_result_desc->nbActiveStreamsOfType(SalText) == nb_text_streams) && (linphone_call_get_state(call) == LinphoneCallStateStreamsRunning)); } - // Increment counter } if (conference) { @@ -6424,10 +6454,10 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, stats *participants_initial_stats = NULL; stats focus_stat = focus->stat; int counter = 1; - bool_t sendonly_video = TRUE; bool_t recvonly_video = TRUE; - + bool_t inactive_call_video = TRUE; LinphoneConferenceLayout call_conference_layout = LinphoneConferenceLayoutGrid; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; for (auto mgr : members) { coresList = bctbx_list_append(coresList, mgr->lc); @@ -6442,14 +6472,22 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, if (participant != mgr) { const LinphoneCallParams *call_params = linphone_call_get_current_params(call); bool_t call_enable_video = linphone_call_params_video_enabled(call_params); - bool_t call_video_direction = linphone_call_params_get_video_direction(call_params); + LinphoneMediaDirection call_video_direction = linphone_call_params_get_video_direction(call_params); + inactive_call_video &= (!call_enable_video); + if (call_enable_video) { - sendonly_video &= (call_video_direction == LinphoneMediaDirectionSendOnly); recvonly_video &= (call_video_direction == LinphoneMediaDirectionRecvOnly); } } else { const LinphoneCallParams *call_params = linphone_call_get_params(call); call_conference_layout = linphone_call_params_get_conference_video_layout(call_params); + LinphoneConference *conference = linphone_core_search_conference_2(mgr->lc, confAddr); + BC_ASSERT_PTR_NOT_NULL(conference); + if (conference) { + const LinphoneConferenceParams *conference_params = + linphone_conference_get_current_params(conference); + security_level = linphone_conference_params_get_security_level(conference_params); + } } } @@ -6457,16 +6495,29 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, counter++; } - bool_t inactive_video = ((recvonly_video && (video_direction == LinphoneMediaDirectionRecvOnly)) || - (sendonly_video && (video_direction == LinphoneMediaDirectionSendOnly))) && - (call_conference_layout == LinphoneConferenceLayoutGrid); + if (inactive_call_video) { + recvonly_video = FALSE; + } + + // During an encrypted conference or whenever a participant chooses a grid layout the receive and send video streams + // are split therefore if the other participants have an inactive video or the can only receive it and the chose + // video direction is RecvOnly, then no video streams will be sent out + bool_t negotiated_inactive_video = + (((call_conference_layout == LinphoneConferenceLayoutGrid) || + (security_level == LinphoneConferenceSecurityLevelEndToEnd)) && + (inactive_call_video || recvonly_video) && (video_direction == LinphoneMediaDirectionRecvOnly)); + + // Whenever a participant chooses a grid layout, the participant requestes 2 streams for its send component and the + // streams with recvonly direction are those of the others participants + bool_t inactive_video_sdp_sent = + ((call_conference_layout == LinphoneConferenceLayoutGrid) && (inactive_call_video || recvonly_video) && + (video_direction == LinphoneMediaDirectionRecvOnly)); bool_t previous_enable_video = FALSE; LinphoneMediaDirection previous_video_direction = LinphoneMediaDirectionInvalid; LinphoneCall *participant_call = linphone_core_get_call_by_remote_address2(participant->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(participant_call); if (participant_call) { - const LinphoneCallParams *call_params = linphone_call_get_current_params(participant_call); previous_enable_video = linphone_call_params_video_enabled(call_params); previous_video_direction = linphone_call_params_get_video_direction(call_params); @@ -6506,9 +6557,22 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, counter = 0; int no_updates = 0; + bool_t media_changed = ((!previous_enable_video && enable && inactive_video_sdp_sent) || + ((previous_enable_video == enable) && (!enable))); + bool_t changing_video_direction = + (enable && previous_enable_video && (previous_video_direction != video_direction)); for (auto mgr : members) { - if (((previous_enable_video != enable) && (previous_video_direction == LinphoneMediaDirectionSendRecv)) || - (enable && previous_enable_video && (previous_video_direction != video_direction)) || + LinphoneCall *member_call = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); + BC_ASSERT_PTR_NOT_NULL(member_call); + bool_t member_enable_video = FALSE; + if (member_call) { + const LinphoneCallParams *call_params = linphone_call_get_current_params(member_call); + member_enable_video = linphone_call_params_video_enabled(call_params); + } + + if ((member_enable_video && + (((previous_enable_video != enable) && (previous_video_direction == LinphoneMediaDirectionSendRecv)) || + changing_video_direction)) || (mgr == participant)) { LinphoneCall *call = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(call); @@ -6528,7 +6592,9 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, } } - if ((previous_enable_video == enable) && (!enable)) { + if (((previous_enable_video == enable) && (!enable)) || + (enable && (video_direction == LinphoneMediaDirectionRecvOnly) && inactive_call_video && + !changing_video_direction)) { BC_ASSERT_FALSE(wait_for_list( coresList, &mgr->stat.number_of_participant_devices_media_capability_changed, participants_initial_stats[counter].number_of_participant_devices_media_capability_changed + 1, @@ -6546,6 +6612,24 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, BC_ASSERT_EQUAL(mgr->stat.number_of_participant_devices_joined, participants_initial_stats[counter].number_of_participant_devices_joined, int, "%0d"); } + if (media_changed) { + BC_ASSERT_FALSE(wait_for_list( + coresList, &mgr->stat.number_of_participant_devices_media_capability_changed, + participants_initial_stats[counter].number_of_participant_devices_media_capability_changed + 1, + liblinphone_tester_sip_timeout)); + } else { + BC_ASSERT_TRUE(wait_for_list( + coresList, &mgr->stat.number_of_participant_devices_media_capability_changed, + participants_initial_stats[counter].number_of_participant_devices_media_capability_changed + 1, + liblinphone_tester_sip_timeout)); + } + + BC_ASSERT_EQUAL(mgr->stat.number_of_participants_added, + participants_initial_stats[counter].number_of_participants_added, int, "%0d"); + BC_ASSERT_EQUAL(mgr->stat.number_of_participant_devices_added, + participants_initial_stats[counter].number_of_participant_devices_added, int, "%0d"); + BC_ASSERT_EQUAL(mgr->stat.number_of_participant_devices_joined, + participants_initial_stats[counter].number_of_participant_devices_joined, int, "%0d"); counter++; } BC_ASSERT_TRUE(wait_for_list(coresList, &focus->stat.number_of_LinphoneCallUpdatedByRemote, @@ -6554,9 +6638,10 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, BC_ASSERT_TRUE(wait_for_list(coresList, &focus->stat.number_of_LinphoneCallStreamsRunning, focus_stat.number_of_LinphoneCallStreamsRunning + no_updates, liblinphone_tester_sip_timeout)); - if ((previous_enable_video == enable) && (!enable)) { + if (media_changed) { BC_ASSERT_FALSE(wait_for_list(coresList, &focus->stat.number_of_participant_devices_media_capability_changed, - focus_stat.number_of_participant_devices_media_capability_changed + 1, 3000)); + focus_stat.number_of_participant_devices_media_capability_changed + 1, + liblinphone_tester_sip_timeout)); } else { BC_ASSERT_TRUE(wait_for_list(coresList, &focus->stat.number_of_participant_devices_media_capability_changed, focus_stat.number_of_participant_devices_media_capability_changed + 1, @@ -6584,9 +6669,15 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, LinphoneParticipantDevice *d = (LinphoneParticipantDevice *)bctbx_list_get_data(itd); LinphoneMediaDirection expected_video_direction = video_direction; if (enable == TRUE) { - if (recvonly_video && (video_direction == LinphoneMediaDirectionRecvOnly) && - (call_conference_layout == LinphoneConferenceLayoutGrid)) { + if (negotiated_inactive_video) { expected_video_direction = LinphoneMediaDirectionInactive; + } else if (((call_conference_layout == LinphoneConferenceLayoutGrid) || + (security_level == LinphoneConferenceSecurityLevelEndToEnd)) && + (inactive_call_video || recvonly_video) && + (video_direction == LinphoneMediaDirectionSendRecv)) { + // Layout Grid doesn't allow the server to always deduce the right client's video direction + // because the send and recv parts of the video streams are separate. + expected_video_direction = LinphoneMediaDirectionSendOnly; } else { expected_video_direction = video_direction; } @@ -6610,11 +6701,11 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), enable_video, int, "%0d"); const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(pcall); BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), - ((inactive_video) ? FALSE : ((focus_defer_update == TRUE) ? enable : enable_video)), int, - "%0d"); + ((negotiated_inactive_video) ? FALSE : ((focus_defer_update == TRUE) ? enable : enable_video)), + int, "%0d"); const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), ((inactive_video) ? FALSE : enable), int, - "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), + ((negotiated_inactive_video) ? FALSE : enable), int, "%0d"); } LinphoneAddress *uri = linphone_address_new(linphone_core_get_identity(participant->lc)); @@ -6624,12 +6715,15 @@ static void set_video_settings_in_conference(LinphoneCoreManager *focus, if (ccall) { const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), - (focus_defer_update == TRUE) ? answer_enable_video : enable_video, int, "%0d"); + (focus_defer_update == TRUE) ? answer_enable_video + : ((negotiated_inactive_video) ? FALSE : enable_video), + int, "%0d"); const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(ccall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), enable_video, int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), + (negotiated_inactive_video) ? FALSE : enable_video, int, "%0d"); const LinphoneCallParams *call_cparams = linphone_call_get_current_params(ccall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), ((inactive_video) ? FALSE : enable), int, - "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), + ((negotiated_inactive_video) ? FALSE : enable), int, "%0d"); } bctbx_list_free(coresList); @@ -6684,7 +6778,8 @@ static void create_conference_base(time_t start_time, bool_t client_restart, bool_t do_not_use_proxy, LinphoneMediaDirection video_direction, - bool_t network_restart) { + bool_t network_restart, + LinphoneConferenceSecurityLevel security_level) { Focus focus("chloe_rc"); { // to make sure focus is destroyed after clients. ClientConference marie("marie_rc", focus.getIdentity()); @@ -6760,7 +6855,7 @@ static void create_conference_base(time_t start_time, const char *description = "Paris Baker"; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); char *conference_address_str = (confAddr) ? linphone_address_as_string(confAddr) : ms_strdup("<unknown>"); @@ -6799,6 +6894,7 @@ static void create_conference_base(time_t start_time, if (mgr == laure.getCMgr()) { linphone_call_params_enable_mic(new_params, FALSE); } + ms_message("%s is entering conference %s", linphone_core_get_identity(mgr->lc), conference_address_str); linphone_core_invite_address_with_params_2(mgr->lc, confAddr, new_params, NULL, nullptr); linphone_call_params_unref(new_params); } @@ -6807,8 +6903,7 @@ static void create_conference_base(time_t start_time, for (auto mgr : members) { BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallOutgoingProgress, 1, liblinphone_tester_sip_timeout)); - int no_streams_running = - ((enable_ice && ((audio_only_participant == FALSE) || (mgr != pauline.getCMgr()))) ? 3 : 2); + int no_streams_running = 2; BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallUpdating, (no_streams_running - 1), liblinphone_tester_sip_timeout)); BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallStreamsRunning, no_streams_running, @@ -6851,15 +6946,13 @@ static void create_conference_base(time_t start_time, BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallIncomingReceived, focus_stat.number_of_LinphoneCallIncomingReceived + 3, liblinphone_tester_sip_timeout)); - int focus_no_streams_running = ((enable_ice) ? 9 : 6); - // Update to end ICE negotiations + int focus_no_streams_running = 6; BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallUpdatedByRemote, focus_stat.number_of_LinphoneCallUpdatedByRemote + (focus_no_streams_running - 3), liblinphone_tester_sip_timeout)); BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallStreamsRunning, focus_stat.number_of_LinphoneCallStreamsRunning + focus_no_streams_running, liblinphone_tester_sip_timeout)); - // Update to add to conference. // If ICE is enabled, the addition to a conference may go through a resume of the call BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneConferenceStateCreated, focus_stat.number_of_LinphoneConferenceStateCreated + 1, @@ -6902,6 +6995,9 @@ static void create_conference_base(time_t start_time, BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); + bctbx_list_t *participant_device_list = linphone_conference_get_participant_device_list(pconference); BC_ASSERT_EQUAL(bctbx_list_size(participant_device_list), members.size(), size_t, "%zu"); for (bctbx_list_t *d_it = participant_device_list; d_it; d_it = bctbx_list_next(d_it)) { @@ -6990,16 +7086,24 @@ static void create_conference_base(time_t start_time, bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = (enabled) ? 4 : 0; - int no_active_streams_video = 0; - int no_streams_text = 0; + size_t no_streams_audio = 0; + size_t no_active_streams_video = 0; + size_t no_streams_video = (enabled) + ? (((security_level == LinphoneConferenceSecurityLevelEndToEnd) && + (layout == LinphoneConferenceLayoutActiveSpeaker)) + ? 6 + : 4) + : 0; + size_t no_streams_text = 0; + bool_t video_negotiated = enabled; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { + no_streams_audio = static_cast<int>(compute_no_audio_streams(pconference)); no_active_streams_video = static_cast<int>(compute_no_video_streams(enabled, pcall, pconference)); + video_negotiated = enabled && (no_active_streams_video > 0); if (!enable_ice) { _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); @@ -7009,11 +7113,9 @@ static void create_conference_base(time_t start_time, const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), enabled, int, "%0d"); const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(pcall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), - enabled && (no_active_streams_video > 0), int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), video_negotiated, int, "%0d"); const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), - enabled && (no_active_streams_video > 0), int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), video_negotiated, int, "%0d"); if (enabled && layout == LinphoneConferenceLayoutGrid && video_direction == LinphoneMediaDirectionSendRecv) { @@ -7031,13 +7133,14 @@ static void create_conference_base(time_t start_time, _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), enabled, int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), video_negotiated, int, + "%0d"); const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(ccall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), enabled, int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), video_negotiated, int, + "%0d"); } const LinphoneCallParams *call_cparams = linphone_call_get_current_params(ccall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), - enabled && (no_active_streams_video > 0), int, "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), video_negotiated, int, "%0d"); } } BC_ASSERT_EQUAL(linphone_conference_get_participant_count(pconference), no_participants, int, "%0d"); @@ -7074,25 +7177,29 @@ static void create_conference_base(time_t start_time, } if (mgr != focus.getCMgr()) { LinphoneCall *c1 = linphone_core_get_call_by_remote_address2(mgr->lc, focus.getCMgr()->identity); - BC_ASSERT_TRUE(linphone_call_get_microphone_muted(c1) == - ((mgr == laure.getCMgr()) || (mgr == marie.getCMgr()))); + if (c1) { + BC_ASSERT_TRUE(linphone_call_get_microphone_muted(c1) == + ((mgr == laure.getCMgr()) || (mgr == marie.getCMgr()))); + } } LinphoneConference *pconference = linphone_core_search_conference_2(mgr->lc, confAddr); - bctbx_list_t *participant_device_list = linphone_conference_get_participant_device_list(pconference); - for (bctbx_list_t *d_it = participant_device_list; d_it; d_it = bctbx_list_next(d_it)) { - LinphoneParticipantDevice *d = (LinphoneParticipantDevice *)bctbx_list_get_data(d_it); - BC_ASSERT_PTR_NOT_NULL(d); - if (d) { - BC_ASSERT_TRUE((!!linphone_participant_device_get_is_muted(d)) == - ((linphone_address_weak_equal(linphone_participant_device_get_address(d), - laure.getCMgr()->identity)) || - (linphone_address_weak_equal(linphone_participant_device_get_address(d), - marie.getCMgr()->identity)))); + if (pconference) { + bctbx_list_t *participant_device_list = linphone_conference_get_participant_device_list(pconference); + for (bctbx_list_t *d_it = participant_device_list; d_it; d_it = bctbx_list_next(d_it)) { + LinphoneParticipantDevice *d = (LinphoneParticipantDevice *)bctbx_list_get_data(d_it); + BC_ASSERT_PTR_NOT_NULL(d); + if (d) { + BC_ASSERT_TRUE((!!linphone_participant_device_get_is_muted(d)) == + ((linphone_address_weak_equal(linphone_participant_device_get_address(d), + laure.getCMgr()->identity)) || + (linphone_address_weak_equal(linphone_participant_device_get_address(d), + marie.getCMgr()->identity)))); + } } + bctbx_list_free_with_data(participant_device_list, (void (*)(void *))linphone_participant_device_unref); } - bctbx_list_free_with_data(participant_device_list, (void (*)(void *))linphone_participant_device_unref); } if (client_restart) { @@ -7207,6 +7314,8 @@ static void create_conference_base(time_t start_time, } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); bctbx_list_t *participant_device_list = linphone_conference_get_participant_device_list(pconference); @@ -7243,14 +7352,20 @@ static void create_conference_base(time_t start_time, bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = (enabled) ? 4 : 0; - int no_active_streams_video = 0; - int no_streams_text = 0; + size_t no_streams_audio = 0; + size_t no_active_streams_video = 0; + size_t no_streams_video = (enabled) + ? (((security_level == LinphoneConferenceSecurityLevelEndToEnd) && + (layout == LinphoneConferenceLayoutActiveSpeaker)) + ? 6 + : 4) + : 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { + no_streams_audio = static_cast<int>(compute_no_audio_streams(pconference)); no_active_streams_video = static_cast<int>(compute_no_video_streams(enabled, pcall, pconference)); _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, @@ -7798,6 +7913,15 @@ static void create_conference_base(time_t start_time, BC_ASSERT_TRUE(wait_for_list(coresList, &laure.getStats().number_of_LinphoneCallStreamsRunning, laure_stat2.number_of_LinphoneCallStreamsRunning + 1, liblinphone_tester_sip_timeout)); + + if (enable_ice) { + BC_ASSERT_TRUE(check_ice(michelle.getCMgr(), focus.getCMgr(), LinphoneIceStateHostConnection)); + BC_ASSERT_TRUE(wait_for_list(coresList, &michelle.getStats().number_of_LinphoneCallUpdating, 2, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, + &michelle.getStats().number_of_LinphoneCallStreamsRunning, 3, + liblinphone_tester_sip_timeout)); + } } BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_participants_added, @@ -7935,6 +8059,8 @@ static void create_conference_base(time_t start_time, } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = no_local_participants + extra_participants; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -7946,19 +8072,23 @@ static void create_conference_base(time_t start_time, LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); - int no_streams_audio = 1; - int no_streams_video = 0; - int no_active_streams_video = 0; - int no_streams_text = 0; + size_t no_streams_audio = + (security_level == LinphoneConferenceSecurityLevelEndToEnd) + ? ((participant_list_type == LinphoneConferenceParticipantListTypeOpen) ? 4 : 3) + : 1; + size_t no_streams_video = 0; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; if (pcall) { const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); const bool_t enabled = linphone_call_params_video_enabled(call_cparams); - no_streams_video = - (enabled && (participant_list_type == LinphoneConferenceParticipantListTypeOpen)) ? 5 - : (enable_video) ? 4 - : 0; no_active_streams_video = static_cast<int>(compute_no_video_streams(enabled, pcall, pconference)); + no_streams_video = ((security_level == LinphoneConferenceSecurityLevelEndToEnd) && + (layout == LinphoneConferenceLayoutActiveSpeaker)) + ? 6 + : 4; + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, @@ -8135,6 +8265,14 @@ static void create_conference_base(time_t start_time, BC_ASSERT_TRUE( wait_for_list(coresList, &berthe.getStats().number_of_LinphoneSubscriptionActive, 1, 5000)); + if (enable_ice) { + BC_ASSERT_TRUE(check_ice(berthe.getCMgr(), focus.getCMgr(), LinphoneIceStateHostConnection)); + BC_ASSERT_TRUE(wait_for_list(coresList, &berthe.getStats().number_of_LinphoneCallUpdating, 2, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &berthe.getStats().number_of_LinphoneCallStreamsRunning, + 3, liblinphone_tester_sip_timeout)); + } + if ((audio_only_participant == FALSE) && ((video_direction != LinphoneMediaDirectionRecvOnly) || (layout == LinphoneConferenceLayoutActiveSpeaker))) { BC_ASSERT_TRUE(wait_for_list(coresList, &pauline.getStats().number_of_LinphoneCallUpdating, @@ -8266,6 +8404,8 @@ static void create_conference_base(time_t start_time, } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = no_local_participants + extra_participants; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -8273,20 +8413,23 @@ static void create_conference_base(time_t start_time, LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); - int no_streams_audio = 1; - int no_streams_video = 0; - int no_active_streams_video = 0; - int no_streams_text = 0; + size_t no_streams_audio = + (security_level == LinphoneConferenceSecurityLevelEndToEnd) + ? ((participant_list_type == LinphoneConferenceParticipantListTypeOpen) ? 4 : 3) + : 1; + size_t no_streams_video = 0; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; if (pcall) { const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); const bool_t enabled = linphone_call_params_video_enabled(call_cparams); - no_streams_video = - (enabled && (participant_list_type == LinphoneConferenceParticipantListTypeOpen)) - ? 5 - : (enable_video) ? 4 - : 0; no_active_streams_video = static_cast<int>(compute_no_video_streams(enabled, pcall, pconference)); + no_streams_video = ((security_level == LinphoneConferenceSecurityLevelEndToEnd) && + (layout == LinphoneConferenceLayoutActiveSpeaker)) + ? 6 + : 4; + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, @@ -8351,6 +8494,8 @@ static void create_conference_base(time_t start_time, video_enabled = linphone_call_params_video_enabled(call_cparams); } + ms_message("%s is leaving conference %s", linphone_core_get_identity(pauline.getLc()), + conference_address_str); linphone_conference_leave(paulineConference); BC_ASSERT_TRUE(wait_for_list(coresList, &pauline.getStats().number_of_LinphoneCallPausing, @@ -8560,7 +8705,11 @@ static void create_conference_base(time_t start_time, LinphoneAddress *uri = linphone_address_new(linphone_core_get_identity(mgr->lc)); LinphoneConference *pconference = linphone_core_search_conference(mgr->lc, NULL, uri, confAddr, NULL); - BC_ASSERT_PTR_NOT_NULL(pconference); + if (!remove_participant && (mgr == berthe.getCMgr())) { + BC_ASSERT_PTR_NULL(pconference); + } else { + BC_ASSERT_PTR_NOT_NULL(pconference); + } linphone_address_unref(uri); if (pconference) { BC_ASSERT_EQUAL(linphone_conference_get_participant_count(pconference), @@ -8743,127 +8892,527 @@ static void create_conference_base(time_t start_time, static void create_simple_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, LinphoneConferenceSecurityLevelNone); +} + +static void create_simple_point_to_point_encrypted_conference(void) { + create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, + LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelPointToPoint); +} + +static void create_simple_end_to_end_encrypted_conference(void) { + create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, + LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelEndToEnd); } static void create_simple_conference_with_server_restart(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, TRUE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE, LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_with_client_restart(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, - TRUE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE); + TRUE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE, LinphoneConferenceSecurityLevelNone); } static void create_simple_ice_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE, LinphoneConferenceSecurityLevelNone); } static void create_simple_stun_ice_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, TRUE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_zrtp_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionZRTP, TRUE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, - FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_dtls_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionDTLS, TRUE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, - FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_srtp_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionSRTP, TRUE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_ice_srtp_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionSRTP, TRUE, LinphoneConferenceLayoutGrid, TRUE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_ice_dtls_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionDTLS, TRUE, LinphoneConferenceLayoutGrid, TRUE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_stun_ice_srtp_conference(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionSRTP, TRUE, LinphoneConferenceLayoutActiveSpeaker, TRUE, TRUE, FALSE, - FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_conference_with_uninvited_participant(void) { create_conference_base(ms_time(NULL), -1, TRUE, LinphoneConferenceParticipantListTypeOpen, TRUE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, TRUE, LinphoneConferenceSecurityLevelNone); } static void create_conference_with_uninvited_participant_not_allowed(void) { create_conference_base(ms_time(NULL), -1, TRUE, LinphoneConferenceParticipantListTypeClosed, FALSE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, - FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_conference_starting_immediately(void) { create_conference_base(ms_time(NULL), 0, FALSE, LinphoneConferenceParticipantListTypeClosed, FALSE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutGrid, FALSE, FALSE, FALSE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_conference_starting_in_the_past(void) { create_conference_base(ms_time(NULL) - 600, 900, FALSE, LinphoneConferenceParticipantListTypeClosed, TRUE, LinphoneMediaEncryptionNone, FALSE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, - FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_with_audio_only_participant(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, FALSE, FALSE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_ice_conference_with_audio_only_participant(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, TRUE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_stun_ice_conference_with_audio_only_participant(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, TRUE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_stun_ice_srtp_conference_with_audio_only_participant(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionSRTP, TRUE, LinphoneConferenceLayoutGrid, TRUE, TRUE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE); + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_conference_with_audio_only_and_uninvited_participant(void) { create_conference_base(ms_time(NULL), -1, TRUE, LinphoneConferenceParticipantListTypeOpen, TRUE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, FALSE, FALSE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_with_audio_only_participant_enabling_video(void) { create_conference_base(ms_time(NULL), -1, FALSE, LinphoneConferenceParticipantListTypeOpen, FALSE, LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, FALSE, FALSE, TRUE, FALSE, - FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE); + FALSE, FALSE, LinphoneMediaDirectionSendRecv, FALSE, LinphoneConferenceSecurityLevelNone); +} + +static void create_simple_point_to_point_encrypted_ice_conference(void) { + create_conference_base(ms_time(NULL), -1, TRUE, LinphoneConferenceParticipantListTypeOpen, FALSE, + LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, FALSE, FALSE, FALSE, + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelPointToPoint); +} + +static void create_simple_end_to_end_encrypted_ice_conference(void) { + create_conference_base(ms_time(NULL), -1, TRUE, LinphoneConferenceParticipantListTypeOpen, TRUE, + LinphoneMediaEncryptionNone, TRUE, LinphoneConferenceLayoutGrid, TRUE, FALSE, FALSE, FALSE, + FALSE, FALSE, LinphoneMediaDirectionRecvOnly, FALSE, + LinphoneConferenceSecurityLevelEndToEnd); +} + +static void create_conference_with_audio_only_participants_base(LinphoneConferenceSecurityLevel security_level) { + Focus focus("chloe_rc"); + { // to make sure focus is destroyed after clients. + ClientConference marie("marie_rc", focus.getIdentity()); + ClientConference pauline("pauline_rc", focus.getIdentity()); + ClientConference laure("laure_tcp_rc", focus.getIdentity()); + + focus.registerAsParticipantDevice(marie); + focus.registerAsParticipantDevice(pauline); + focus.registerAsParticipantDevice(laure); + + setup_conference_info_cbs(marie.getCMgr()); + + bctbx_list_t *coresList = NULL; + + for (auto mgr : {focus.getCMgr(), marie.getCMgr(), pauline.getCMgr(), laure.getCMgr()}) { + LinphoneVideoActivationPolicy *pol = + linphone_factory_create_video_activation_policy(linphone_factory_get()); + linphone_video_activation_policy_set_automatically_accept(pol, TRUE); + linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); + linphone_core_set_video_activation_policy(mgr->lc, pol); + linphone_video_activation_policy_unref(pol); + + linphone_core_set_video_device(mgr->lc, liblinphone_tester_mire_id); + linphone_core_enable_video_capture(mgr->lc, TRUE); + linphone_core_enable_video_display(mgr->lc, TRUE); + + coresList = bctbx_list_append(coresList, mgr->lc); + } + + linphone_core_set_file_transfer_server(marie.getLc(), file_transfer_url); + + stats focus_stat = focus.getStats(); + + std::list<LinphoneCoreManager *> participants{pauline.getCMgr(), laure.getCMgr()}; + std::list<LinphoneCoreManager *> conferenceMgrs{focus.getCMgr(), marie.getCMgr(), pauline.getCMgr(), + laure.getCMgr()}; + std::list<LinphoneCoreManager *> members{marie.getCMgr(), pauline.getCMgr(), laure.getCMgr()}; + + time_t start_time = ms_time(NULL) + 60; + int duration = 30; + time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); + const char *initialSubject = "Test characters: ^ :) ¤ çà @"; + const char *description = "Chamrousse Pub"; + LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, + initialSubject, description, TRUE, security_level); + + BC_ASSERT_PTR_NOT_NULL(confAddr); + char *conference_address_str = (confAddr) ? linphone_address_as_string(confAddr) : ms_strdup("<unknown>"); + + // Chat room creation to send ICS + BC_ASSERT_TRUE(wait_for_list(coresList, &marie.getStats().number_of_LinphoneConferenceStateCreated, 2, + liblinphone_tester_sip_timeout)); + + coresList = bctbx_list_remove(coresList, focus.getLc()); + // Restart flexisip + focus.reStart(); + + LinphoneVideoActivationPolicy *pol = linphone_factory_create_video_activation_policy(linphone_factory_get()); + linphone_video_activation_policy_set_automatically_accept(pol, TRUE); + linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); + linphone_core_set_video_activation_policy(focus.getLc(), pol); + linphone_video_activation_policy_unref(pol); + + linphone_core_enable_video_capture(focus.getLc(), TRUE); + linphone_core_enable_video_display(focus.getLc(), TRUE); + + coresList = bctbx_list_append(coresList, focus.getLc()); + LinphoneConferenceLayout layout = LinphoneConferenceLayoutGrid; + for (auto mgr : members) { + LinphoneCallParams *new_params = linphone_core_create_call_params(mgr->lc, nullptr); + linphone_call_params_enable_video(new_params, FALSE); + linphone_call_params_set_conference_video_layout(new_params, layout); + ms_message("%s is calling conference %s", linphone_core_get_identity(mgr->lc), conference_address_str); + linphone_core_invite_address_with_params_2(mgr->lc, confAddr, new_params, NULL, nullptr); + linphone_call_params_unref(new_params); + + if (layout == LinphoneConferenceLayoutGrid) { + layout = LinphoneConferenceLayoutActiveSpeaker; + } else if (layout == LinphoneConferenceLayoutActiveSpeaker) { + layout = LinphoneConferenceLayoutGrid; + } + } + + for (auto mgr : members) { + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallOutgoingProgress, 1, + liblinphone_tester_sip_timeout)); + int no_streams_running = 2; + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallUpdating, (no_streams_running - 1), + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneCallStreamsRunning, no_streams_running, + liblinphone_tester_sip_timeout)); + // Update to add to conference. + // If ICE is enabled, the addition to a conference may go through a resume of the call + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneConferenceStateCreated, + ((mgr == marie.getCMgr()) ? 3 : 2), liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &mgr->stat.number_of_LinphoneSubscriptionOutgoingProgress, 1, 5000)); + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneSubscriptionActive, 1, 5000)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &mgr->stat.number_of_NotifyReceived, 1, liblinphone_tester_sip_timeout)); + } + + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallIncomingReceived, + focus_stat.number_of_LinphoneCallIncomingReceived + 3, + liblinphone_tester_sip_timeout)); + int focus_no_streams_running = 6; + // Update to end ICE negotiations + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallUpdatedByRemote, + focus_stat.number_of_LinphoneCallUpdatedByRemote + (focus_no_streams_running - 3), + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallStreamsRunning, + focus_stat.number_of_LinphoneCallStreamsRunning + focus_no_streams_running, + liblinphone_tester_sip_timeout)); + // Update to add to conference. + // If ICE is enabled, the addition to a conference may go through a resume of the call + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneConferenceStateCreated, + focus_stat.number_of_LinphoneConferenceStateCreated + 1, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneSubscriptionIncomingReceived, + focus_stat.number_of_LinphoneSubscriptionIncomingReceived + 3, 5000)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneSubscriptionActive, + focus_stat.number_of_LinphoneSubscriptionActive + 3, 5000)); + + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_participants_added, + focus_stat.number_of_participants_added + 3, liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_participant_devices_added, + focus_stat.number_of_participant_devices_added + 3, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_participant_devices_joined, + focus_stat.number_of_participant_devices_joined + 3, + liblinphone_tester_sip_timeout)); + + wait_for_conference_streams({focus, marie, pauline, laure}, conferenceMgrs, focus.getCMgr(), members, confAddr, + TRUE); + + LinphoneConference *fconference = linphone_core_search_conference_2(focus.getLc(), confAddr); + BC_ASSERT_PTR_NOT_NULL(fconference); + + // wait bit more to detect side effect if any + CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); + + for (auto mgr : conferenceMgrs) { + LinphoneConference *pconference = linphone_core_search_conference_2(mgr->lc, confAddr); + BC_ASSERT_PTR_NOT_NULL(pconference); + if (pconference) { + const LinphoneConferenceParams *conference_params = linphone_conference_get_current_params(pconference); + int no_participants = 0; + if (start_time >= 0) { + BC_ASSERT_EQUAL((long long)linphone_conference_params_get_start_time(conference_params), + (long long)start_time, long long, "%lld"); + } + BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), + (long long)end_time, long long, "%lld"); + bctbx_list_t *participant_device_list = linphone_conference_get_participant_device_list(pconference); + BC_ASSERT_EQUAL(bctbx_list_size(participant_device_list), 3, size_t, "%zu"); + bctbx_list_free_with_data(participant_device_list, (void (*)(void *))linphone_participant_device_unref); + + if (mgr == focus.getCMgr()) { + no_participants = 3; + BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); + } else { + no_participants = 2; + BC_ASSERT_TRUE(linphone_conference_is_in(pconference)); + LinphoneCall *current_call = linphone_core_get_current_call(mgr->lc); + BC_ASSERT_PTR_NOT_NULL(current_call); + if (current_call) { + BC_ASSERT_EQUAL((int)linphone_call_get_state(current_call), + (int)LinphoneCallStateStreamsRunning, int, "%0d"); + } + + size_t no_streams_audio = (security_level == LinphoneConferenceSecurityLevelEndToEnd) ? 3 : 1; + size_t no_streams_video = 0; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; + + LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); + BC_ASSERT_PTR_NOT_NULL(pcall); + if (pcall) { + _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, + no_streams_text); + const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_lparams)); + const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(pcall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_rparams)); + const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_cparams)); + } + LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); + BC_ASSERT_PTR_NOT_NULL(ccall); + if (ccall) { + _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, + no_streams_text); + const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_lparams)); + const LinphoneCallParams *call_rparams = linphone_call_get_remote_params(ccall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_rparams)); + const LinphoneCallParams *call_cparams = linphone_call_get_current_params(ccall); + BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_cparams)); + } + } + BC_ASSERT_EQUAL(linphone_conference_get_participant_count(pconference), no_participants, int, "%0d"); + BC_ASSERT_STRING_EQUAL(linphone_conference_get_subject(pconference), initialSubject); + LinphoneParticipant *me = linphone_conference_get_me(pconference); + BC_ASSERT_TRUE(linphone_participant_is_admin(me) == + ((mgr == marie.getCMgr()) || (mgr == focus.getCMgr()))); + BC_ASSERT_TRUE(linphone_address_weak_equal(linphone_participant_get_address(me), mgr->identity)); + bctbx_list_t *participants = linphone_conference_get_participant_list(pconference); + for (bctbx_list_t *itp = participants; itp; itp = bctbx_list_next(itp)) { + LinphoneParticipant *p = (LinphoneParticipant *)bctbx_list_get_data(itp); + BC_ASSERT_TRUE( + linphone_participant_is_admin(p) == + linphone_address_weak_equal(linphone_participant_get_address(p), marie.getCMgr()->identity)); + } + bctbx_list_free_with_data(participants, (void (*)(void *))linphone_participant_unref); + + if (mgr != focus.getCMgr()) { + check_conference_ssrc(fconference, pconference); + } + } + } + + // Everybody adds video + std::list<LinphoneCoreManager *> withVideo{}; + int mCnt = 0; + for (auto m : {pauline.getCMgr(), marie.getCMgr()}) { + withVideo.push_back(m); + int videoDirCnt = 0; + std::list<LinphoneMediaDirection> videoDirectionSeq; + if ((mCnt % 2) == 1) { + videoDirectionSeq.push_back(LinphoneMediaDirectionSendOnly); + videoDirectionSeq.push_back(LinphoneMediaDirectionRecvOnly); + videoDirectionSeq.push_back(LinphoneMediaDirectionSendRecv); + } else { + videoDirectionSeq.push_back(LinphoneMediaDirectionSendRecv); + videoDirectionSeq.push_back(LinphoneMediaDirectionSendOnly); + videoDirectionSeq.push_back(LinphoneMediaDirectionRecvOnly); + } + for (auto video_direction : videoDirectionSeq) { + std::list<bool_t> enableSeq{TRUE, FALSE}; + if ((videoDirCnt % 2) == 1) { + enableSeq.push_back(TRUE); + } + for (auto enable : enableSeq) { + set_video_settings_in_conference(focus.getCMgr(), m, members, confAddr, enable, video_direction, + enable, video_direction); + for (auto mgr : members) { + LinphoneAddress *uri = linphone_address_new(linphone_core_get_identity(mgr->lc)); + LinphoneConference *pconference = + linphone_core_search_conference(mgr->lc, NULL, uri, confAddr, NULL); + linphone_address_unref(uri); + BC_ASSERT_PTR_NOT_NULL(pconference); + if (pconference) { + size_t no_streams_audio = + (security_level == LinphoneConferenceSecurityLevelEndToEnd) ? 3 : 1; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; + + LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); + BC_ASSERT_PTR_NOT_NULL(pcall); + if (pcall) { + no_active_streams_video = + static_cast<int>(compute_no_video_streams(enable, pcall, pconference)); + _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, + no_streams_text); + } + LinphoneCall *ccall = + linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); + BC_ASSERT_PTR_NOT_NULL(ccall); + if (ccall) { + _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, + no_streams_text); + } + } + } + } + videoDirCnt++; + } + mCnt++; + } + + const int total_marie_calls = + marie.getStats().number_of_LinphoneCallEnd + (int)bctbx_list_size(linphone_core_get_calls(marie.getLc())); + const int total_focus_calls = + focus.getStats().number_of_LinphoneCallEnd + (int)bctbx_list_size(linphone_core_get_calls(focus.getLc())); + const int total_pauline_calls = pauline.getStats().number_of_LinphoneCallEnd + + (int)bctbx_list_size(linphone_core_get_calls(pauline.getLc())); + const int total_laure_calls = + laure.getStats().number_of_LinphoneCallEnd + (int)bctbx_list_size(linphone_core_get_calls(laure.getLc())); + + linphone_core_terminate_all_calls(pauline.getLc()); + linphone_core_terminate_all_calls(laure.getLc()); + linphone_core_terminate_all_calls(marie.getLc()); + + // Wait for calls to be terminated + BC_ASSERT_TRUE(wait_for_list(coresList, &marie.getStats().number_of_LinphoneCallEnd, total_marie_calls, 30000)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &pauline.getStats().number_of_LinphoneCallEnd, total_pauline_calls, 30000)); + BC_ASSERT_TRUE(wait_for_list(coresList, &laure.getStats().number_of_LinphoneCallEnd, total_laure_calls, 30000)); + BC_ASSERT_TRUE(wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallEnd, total_focus_calls, 40000)); + + BC_ASSERT_TRUE( + wait_for_list(coresList, &marie.getStats().number_of_LinphoneCallReleased, total_marie_calls, 30000)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &pauline.getStats().number_of_LinphoneCallReleased, total_pauline_calls, 30000)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &laure.getStats().number_of_LinphoneCallReleased, total_laure_calls, 30000)); + BC_ASSERT_TRUE( + wait_for_list(coresList, &focus.getStats().number_of_LinphoneCallReleased, total_focus_calls, 40000)); + + if (confAddr && fconference) { + linphone_conference_terminate(fconference); + } + + for (auto mgr : {focus.getCMgr(), marie.getCMgr(), pauline.getCMgr(), laure.getCMgr()}) { + + // Wait for all conferences to be terminated + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneConferenceStateTerminationPending, 1, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneConferenceStateTerminated, 1, + liblinphone_tester_sip_timeout)); + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneConferenceStateDeleted, 1, + liblinphone_tester_sip_timeout)); + + BC_ASSERT_TRUE(wait_for_list(coresList, &mgr->stat.number_of_LinphoneSubscriptionTerminated, + (mgr == focus.getCMgr()) ? 3 : 1, liblinphone_tester_sip_timeout)); + + if (mgr && (mgr != focus.getCMgr())) { + LinphoneCall *participant_call = + linphone_core_get_call_by_remote_address2(mgr->lc, focus.getCMgr()->identity); + BC_ASSERT_PTR_NULL(participant_call); + LinphoneCall *conference_call = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); + BC_ASSERT_PTR_NULL(conference_call); + + const bctbx_list_t *call_logs = linphone_core_get_call_logs(mgr->lc); + BC_ASSERT_EQUAL((unsigned int)bctbx_list_size(call_logs), 1, unsigned int, "%u"); + + bctbx_list_t *mgr_focus_call_log = + linphone_core_get_call_history_2(mgr->lc, focus.getCMgr()->identity, mgr->identity); + BC_ASSERT_PTR_NOT_NULL(mgr_focus_call_log); + if (mgr_focus_call_log) { + BC_ASSERT_EQUAL((unsigned int)bctbx_list_size(mgr_focus_call_log), 1, unsigned int, "%u"); + for (bctbx_list_t *it = mgr_focus_call_log; it; it = bctbx_list_next(it)) { + LinphoneCallLog *call_log = (LinphoneCallLog *)it->data; + BC_ASSERT_TRUE(linphone_call_log_was_conference(call_log)); + } + bctbx_list_free_with_data(mgr_focus_call_log, (bctbx_list_free_func)linphone_call_log_unref); + } + } + } + + ms_free(conference_address_str); + linphone_address_unref(confAddr); + bctbx_list_free(coresList); + } +} + +static void create_conference_with_audio_only_participants(void) { + create_conference_with_audio_only_participants_base(LinphoneConferenceSecurityLevelNone); +} + +static void create_end_to_end_encryption_conference_with_audio_only_participants(void) { + create_conference_with_audio_only_participants_base(LinphoneConferenceSecurityLevelEndToEnd); } static void create_conference_with_server_restart_base(bool_t organizer_first) { @@ -8910,8 +9459,9 @@ static void create_conference_with_server_restart_base(bool_t organizer_first) { time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test characters: ^ :) ¤ çà @"; const char *description = "London Pub"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); char *conference_address_str = (confAddr) ? linphone_address_as_string(confAddr) : ms_strdup("<unknown>"); @@ -9054,15 +9604,15 @@ static void create_conference_with_server_restart_base(bool_t organizer_first) { bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = (enabled) ? 4 : 0; - int no_active_streams_video = (enabled) ? no_streams_video : 0; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_streams_video = (enabled) ? 4 : 0; + size_t no_active_streams_video = (enabled) ? no_streams_video : 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -9075,7 +9625,7 @@ static void create_conference_with_server_restart_base(bool_t organizer_first) { LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -9256,9 +9806,10 @@ static void create_conference_with_codec_mismatch_base(bool_t organizer_codec_mi time_t end_time = -1; const char *initialSubject = "Test characters: ^ :) ¤ çà @"; const char *description = "Paris Baker"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); char *conference_address_str = (confAddr) ? linphone_address_as_string(confAddr) : ms_strdup("<unknown>"); @@ -9423,9 +9974,9 @@ static void create_conference_with_codec_mismatch_base(bool_t organizer_codec_mi bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_active_streams_video = 0; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -9569,7 +10120,8 @@ static void create_conference_dial_out_base(bool_t send_ics, bool_t enable_ice, LinphoneConferenceParticipantListType participant_list_type, bool_t accept, - bool_t participant_codec_mismatch) { + bool_t participant_codec_mismatch, + LinphoneConferenceSecurityLevel security_level) { Focus focus("chloe_rc"); { // to make sure focus is destroyed after clients. ClientConference marie("marie_rc", focus.getIdentity()); @@ -9636,8 +10188,8 @@ static void create_conference_dial_out_base(bool_t send_ics, const char *initialSubject = "Schedule of the trip towards the top of Europe"; const char *description = "To the top of the Mont Blanc!!!! :-)"; - LinphoneAddress *confAddr = - create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, description, send_ics); + LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, + description, send_ics, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -9741,8 +10293,10 @@ static void create_conference_dial_out_base(bool_t send_ics, if (confAddr) { for (auto mgr : participants) { + // Encryption is None because we haven't received yet the NOTIFY full stae with this information check_conference_info(mgr, confAddr, marie.getCMgr(), 5, 0, 0, initialSubject, - (accept && send_ics) ? description : NULL, 0, LinphoneConferenceInfoStateNew); + (accept && send_ics) ? description : NULL, 0, LinphoneConferenceInfoStateNew, + LinphoneConferenceSecurityLevelNone); LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -9772,46 +10326,6 @@ static void create_conference_dial_out_base(bool_t send_ics, liblinphone_tester_sip_timeout)); BC_ASSERT_TRUE( wait_for_list(coresList, &mgr->stat.number_of_NotifyReceived, 1, liblinphone_tester_sip_timeout)); - - check_conference_info(mgr, confAddr, marie.getCMgr(), participant_conference_info_participants, 0, 0, - initialSubject, (send_ics) ? description : NULL, 0, - LinphoneConferenceInfoStateNew); - - LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); - BC_ASSERT_PTR_NOT_NULL(pcall); - if (pcall) { - LinphoneCallLog *call_log = linphone_call_get_call_log(pcall); - BC_ASSERT_TRUE(linphone_call_log_was_conference(call_log)); - LinphoneConferenceInfo *call_log_info = linphone_call_log_get_conference_info(call_log); - if (BC_ASSERT_PTR_NOT_NULL(call_log_info)) { - BC_ASSERT_TRUE(linphone_address_weak_equal( - linphone_conference_info_get_organizer(call_log_info), marie.getCMgr()->identity)); - BC_ASSERT_TRUE( - linphone_address_weak_equal(linphone_conference_info_get_uri(call_log_info), confAddr)); - - bctbx_list_t *info_participants = linphone_conference_info_get_participants(call_log_info); - // Original participants + Marie who joined the conference - BC_ASSERT_EQUAL(bctbx_list_size(info_participants), participant_conference_info_participants, - size_t, "%zu"); - bctbx_list_free(info_participants); - - BC_ASSERT_GREATER_STRICT((long long)linphone_conference_info_get_date_time(call_log_info), 0, - long long, "%lld"); - const int duration_m = linphone_conference_info_get_duration(call_log_info); - BC_ASSERT_EQUAL(duration_m, 0, int, "%d"); - if (initialSubject) { - BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_subject(call_log_info), initialSubject); - } else { - BC_ASSERT_PTR_NULL(linphone_conference_info_get_subject(call_log_info)); - } - if (send_ics) { - BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_description(call_log_info), - description); - } else { - BC_ASSERT_PTR_NULL(linphone_conference_info_get_description(call_log_info)); - } - } - } } if (enable_ice) { @@ -9888,6 +10402,12 @@ static void create_conference_dial_out_base(bool_t send_ics, no_participants = static_cast<int>(members.size()); BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); } else { + + check_conference_info(mgr, confAddr, marie.getCMgr(), participant_conference_info_participants, + 0, 0, initialSubject, + (send_ics || (mgr == marie.getCMgr())) ? description : NULL, 0, + LinphoneConferenceInfoStateNew, security_level); + no_participants = participant_no; BC_ASSERT_TRUE(linphone_conference_is_in(pconference)); LinphoneCall *current_call = linphone_core_get_current_call(mgr->lc); @@ -9900,35 +10420,29 @@ static void create_conference_dial_out_base(bool_t send_ics, BC_ASSERT_TRUE(check_ice(mgr, focus.getCMgr(), LinphoneIceStateHostConnection)); } - int no_streams_audio = 1; - int no_streams_video = 0; - int no_active_streams_video = 0; - if (initiate_video && accept_video) { - no_streams_video = (no_participants + 2); - } else if (initiate_video) { - no_streams_video = (mgr == marie.getCMgr()) ? 2 : 1; - } else if (accept_video) { - no_streams_video = (mgr == marie.getCMgr()) ? 0 : (no_participants + 1); - } else { - no_streams_video = (mgr == marie.getCMgr()) ? 0 : 1; - } + LinphoneVideoActivationPolicy *pol = linphone_core_get_video_activation_policy(mgr->lc); + bool_t enabled = !!((mgr == marie.getCMgr()) + ? linphone_video_activation_policy_get_automatically_initiate(pol) + : linphone_video_activation_policy_get_automatically_accept(pol)); + linphone_video_activation_policy_unref(pol); - if (video_enabled) { - if (initiate_video && accept_video) { - no_active_streams_video = (no_participants + 2); - } else if (initiate_video) { - no_active_streams_video = (mgr == marie.getCMgr()) ? 2 : 0; - } else if (accept_video) { - no_active_streams_video = (no_participants + 1); - } - } - int no_streams_text = 0; + size_t no_streams_audio = 0; + size_t no_streams_video = 0; + size_t no_max_streams_video = 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); - _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, + no_streams_audio = static_cast<int>(compute_no_audio_streams(pconference)); + // Even if video is not enabled, the server will offer it and clients reject the video + // stream if they do not want to send or receive it. + no_streams_video = + static_cast<int>(compute_no_video_streams(enable_video, pcall, pconference)); + no_max_streams_video = (enabled || (mgr == marie.getCMgr())) ? no_streams_video : 1; + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_max_streams_video, + no_streams_text); + _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), video_enabled, int, @@ -9937,15 +10451,52 @@ static void create_conference_dial_out_base(bool_t send_ics, BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_rparams), video_enabled, int, "%0d"); const LinphoneCallParams *call_cparams = linphone_call_get_current_params(pcall); - BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), video_enabled, int, - "%0d"); + BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_cparams), enabled, int, "%0d"); + + LinphoneCallLog *call_log = linphone_call_get_call_log(pcall); + BC_ASSERT_TRUE(linphone_call_log_was_conference(call_log)); + LinphoneConferenceInfo *call_log_info = linphone_call_log_get_conference_info(call_log); + if (BC_ASSERT_PTR_NOT_NULL(call_log_info)) { + BC_ASSERT_TRUE(linphone_address_weak_equal( + linphone_conference_info_get_organizer(call_log_info), marie.getCMgr()->identity)); + BC_ASSERT_TRUE(linphone_address_weak_equal( + linphone_conference_info_get_uri(call_log_info), confAddr)); + + bctbx_list_t *info_participants = + linphone_conference_info_get_participants(call_log_info); + // Original participants + Marie who joined the conference + BC_ASSERT_EQUAL(bctbx_list_size(info_participants), + participant_conference_info_participants, size_t, "%zu"); + bctbx_list_free(info_participants); + + BC_ASSERT_GREATER_STRICT( + (long long)linphone_conference_info_get_date_time(call_log_info), 0, long long, + "%lld"); + const int duration_m = linphone_conference_info_get_duration(call_log_info); + BC_ASSERT_EQUAL(duration_m, 0, int, "%d"); + BC_ASSERT_EQUAL((int)linphone_conference_info_get_security_level(call_log_info), + (int)security_level, int, "%0d"); + if (initialSubject) { + BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_subject(call_log_info), + initialSubject); + } else { + BC_ASSERT_PTR_NULL(linphone_conference_info_get_subject(call_log_info)); + } + if (send_ics || (mgr == marie.getCMgr())) { + BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_description(call_log_info), + description); + } else { + BC_ASSERT_PTR_NULL(linphone_conference_info_get_description(call_log_info)); + } + } } LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); - _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_max_streams_video, + no_streams_text); + _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); BC_ASSERT_EQUAL(linphone_call_params_video_enabled(call_lparams), video_enabled, int, @@ -10248,9 +10799,9 @@ static void create_conference_dial_out_base(bool_t send_ics, bctbx_list_free_with_data(mgr_focus_call_log, (bctbx_list_free_func)linphone_call_log_unref); } check_conference_info( - mgr, confAddr, marie.getCMgr(), (mgr == marie.getCMgr()) ? 5 : participant_conference_info_participants, - 0, 0, initialSubject, ((accept && send_ics) || (mgr == marie.getCMgr())) ? description : NULL, 0, - LinphoneConferenceInfoStateNew); + mgr, confAddr, marie.getCMgr(), participant_conference_info_participants, 0, 0, initialSubject, + ((accept && send_ics) || (mgr == marie.getCMgr())) ? description : NULL, 0, + LinphoneConferenceInfoStateNew, (accept) ? security_level : LinphoneConferenceSecurityLevelNone); } // wait bit more to detect side effect if any @@ -10268,7 +10819,8 @@ static void create_simple_conference_dial_out(void) { linphone_video_activation_policy_set_automatically_accept(pol, FALSE); linphone_video_activation_policy_set_automatically_initiate(pol, FALSE); create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, pol, FALSE, FALSE, - LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE); + LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE, + LinphoneConferenceSecurityLevelNone); linphone_video_activation_policy_unref(pol); } @@ -10277,7 +10829,8 @@ static void create_simple_conference_dial_out_and_ics(void) { linphone_video_activation_policy_set_automatically_accept(pol, TRUE); linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); create_conference_dial_out_base(TRUE, LinphoneConferenceLayoutGrid, pol, TRUE, TRUE, - LinphoneConferenceParticipantListTypeOpen, TRUE, FALSE); + LinphoneConferenceParticipantListTypeOpen, TRUE, FALSE, + LinphoneConferenceSecurityLevelNone); linphone_video_activation_policy_unref(pol); } @@ -10286,7 +10839,28 @@ static void create_simple_conference_dial_out_with_calls_declined(void) { linphone_video_activation_policy_set_automatically_accept(pol, TRUE); linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutGrid, pol, TRUE, TRUE, - LinphoneConferenceParticipantListTypeOpen, FALSE, FALSE); + LinphoneConferenceParticipantListTypeOpen, FALSE, FALSE, + LinphoneConferenceSecurityLevelNone); + linphone_video_activation_policy_unref(pol); +} + +static void create_simple_point_to_point_encrypted_conference_dial_out(void) { + LinphoneVideoActivationPolicy *pol = linphone_factory_create_video_activation_policy(linphone_factory_get()); + linphone_video_activation_policy_set_automatically_accept(pol, TRUE); + linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); + create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, pol, FALSE, FALSE, + LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE, + LinphoneConferenceSecurityLevelPointToPoint); + linphone_video_activation_policy_unref(pol); +} + +static void create_simple_end_to_end_encrypted_conference_dial_out(void) { + LinphoneVideoActivationPolicy *pol = linphone_factory_create_video_activation_policy(linphone_factory_get()); + linphone_video_activation_policy_set_automatically_accept(pol, TRUE); + linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); + create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, pol, FALSE, FALSE, + LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE, + LinphoneConferenceSecurityLevelEndToEnd); linphone_video_activation_policy_unref(pol); } @@ -10295,7 +10869,8 @@ static void create_simple_conference_dial_out_participant_codec_mismatch(void) { linphone_video_activation_policy_set_automatically_accept(pol, FALSE); linphone_video_activation_policy_set_automatically_initiate(pol, FALSE); create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, pol, FALSE, FALSE, - LinphoneConferenceParticipantListTypeClosed, TRUE, TRUE); + LinphoneConferenceParticipantListTypeClosed, TRUE, TRUE, + LinphoneConferenceSecurityLevelNone); linphone_video_activation_policy_unref(pol); } @@ -10304,7 +10879,8 @@ static void create_simple_conference_dial_out_with_video_not_accepted(void) { linphone_video_activation_policy_set_automatically_accept(pol, FALSE); linphone_video_activation_policy_set_automatically_initiate(pol, TRUE); create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, pol, FALSE, FALSE, - LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE); + LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE, + LinphoneConferenceSecurityLevelNone); linphone_video_activation_policy_unref(pol); } @@ -10313,7 +10889,8 @@ static void create_simple_conference_dial_out_with_video_not_initiated(void) { linphone_video_activation_policy_set_automatically_accept(pol, TRUE); linphone_video_activation_policy_set_automatically_initiate(pol, FALSE); create_conference_dial_out_base(FALSE, LinphoneConferenceLayoutGrid, pol, FALSE, FALSE, - LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE); + LinphoneConferenceParticipantListTypeClosed, TRUE, FALSE, + LinphoneConferenceSecurityLevelNone); linphone_video_activation_policy_unref(pol); } @@ -10373,8 +10950,9 @@ static void create_simple_conference_dial_out_organizer_codec_mismatch(void) { const char *initialSubject = "Schedule of the trip towards the top of Europe"; const char *description = "To the Goutier mountain hut!!!! :-)"; - LinphoneAddress *confAddr = - create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, description, TRUE); + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; + LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, + description, TRUE, security_level); BC_ASSERT_PTR_NULL(confAddr); // Chat room creation to send ICS @@ -10457,9 +11035,10 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp const char *initialSubject = "Team building hike to the mountain hut"; const char *description = "Having fun!!!! :-)"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; - LinphoneAddress *confAddr = - create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, description, FALSE); + LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, + description, FALSE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -10519,7 +11098,7 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp if (confAddr) { for (auto mgr : participants) { check_conference_info(mgr, confAddr, marie.getCMgr(), 5, 0, 0, initialSubject, NULL, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -10553,7 +11132,7 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp wait_for_list(coresList, &mgr->stat.number_of_NotifyReceived, 1, liblinphone_tester_sip_timeout)); check_conference_info(mgr, confAddr, marie.getCMgr(), 5, 0, 0, initialSubject, NULL, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -10576,6 +11155,8 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp long long, "%lld"); const int duration_m = linphone_conference_info_get_duration(call_log_info); BC_ASSERT_EQUAL(duration_m, 0, int, "%d"); + BC_ASSERT_EQUAL((int)linphone_conference_info_get_security_level(call_log_info), + (int)security_level, int, "%0d"); if (initialSubject) { BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_subject(call_log_info), initialSubject); } else { @@ -10696,14 +11277,14 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = (enabled) ? (static_cast<int>(all_active_participants.size()) + 1) : 0; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_streams_video = (enabled) ? (static_cast<int>(all_active_participants.size()) + 1) : 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -10717,7 +11298,7 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -10932,7 +11513,8 @@ static void create_simple_conference_dial_out_with_some_calls_declined_base(Linp bctbx_list_free_with_data(mgr_focus_call_log, (bctbx_list_free_func)linphone_call_log_unref); } check_conference_info(mgr, confAddr, marie.getCMgr(), 5, 0, 0, initialSubject, - (mgr == marie.getCMgr()) ? description : NULL, 0, LinphoneConferenceInfoStateNew); + (mgr == marie.getCMgr()) ? description : NULL, 0, LinphoneConferenceInfoStateNew, + security_level); } // wait bit more to detect side effect if any @@ -10959,7 +11541,8 @@ create_conference_with_late_participant_addition_base(time_t start_time, LinphoneConferenceLayout layout, LinphoneConferenceParticipantListType participant_list_type, bool_t accept, - bool_t one_addition) { + bool_t one_addition, + LinphoneConferenceSecurityLevel security_level) { Focus focus("chloe_rc"); { // to make sure focus is destroyed after clients. ClientConference marie("marie_rc", focus.getIdentity()); @@ -11014,7 +11597,7 @@ create_conference_with_late_participant_addition_base(time_t start_time, const char *description = "What happened in the past week"; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -11081,7 +11664,7 @@ create_conference_with_late_participant_addition_base(time_t start_time, if (confAddr) { for (auto mgr : participants) { check_conference_info(mgr, confAddr, marie.getCMgr(), members.size(), start_time, duration, - initialSubject, description, 0, LinphoneConferenceInfoStateNew); + initialSubject, description, 0, LinphoneConferenceInfoStateNew, security_level); LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -11109,7 +11692,7 @@ create_conference_with_late_participant_addition_base(time_t start_time, wait_for_list(coresList, &mgr->stat.number_of_NotifyReceived, 1, liblinphone_tester_sip_timeout)); check_conference_info(mgr, confAddr, marie.getCMgr(), members.size(), start_time, duration, initialSubject, - description, 0, LinphoneConferenceInfoStateNew); + description, 0, LinphoneConferenceInfoStateNew, security_level); LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); @@ -11135,6 +11718,8 @@ create_conference_with_late_participant_addition_base(time_t start_time, } const int duration_m = linphone_conference_info_get_duration(call_log_info); BC_ASSERT_EQUAL(duration_m, ((duration < 0) ? 0 : duration), int, "%d"); + BC_ASSERT_EQUAL((int)linphone_conference_info_get_security_level(call_log_info), + (int)security_level, int, "%0d"); if (initialSubject) { BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_subject(call_log_info), initialSubject); } else { @@ -11218,14 +11803,14 @@ create_conference_with_late_participant_addition_base(time_t start_time, bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = (enabled) ? (static_cast<int>(members.size()) + 1) : 0; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_streams_video = (enabled) ? (static_cast<int>(members.size()) + 1) : 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -11239,7 +11824,7 @@ create_conference_with_late_participant_addition_base(time_t start_time, LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -11661,7 +12246,7 @@ create_conference_with_late_participant_addition_base(time_t start_time, check_conference_info( mgr, confAddr, marie.getCMgr(), 5, 0, 0, initialSubject, ((!one_addition && (mgr == michelle.getCMgr())) || (mgr == berthe.getCMgr())) ? NULL : description, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); } // wait bit more to detect side effect if any @@ -11676,22 +12261,26 @@ create_conference_with_late_participant_addition_base(time_t start_time, static void create_conference_with_late_participant_addition(void) { create_conference_with_late_participant_addition_base(ms_time(NULL), -1, LinphoneConferenceLayoutGrid, - LinphoneConferenceParticipantListTypeClosed, TRUE, TRUE); + LinphoneConferenceParticipantListTypeClosed, TRUE, TRUE, + LinphoneConferenceSecurityLevelNone); } static void create_conference_with_late_participant_addition_declined(void) { create_conference_with_late_participant_addition_base(ms_time(NULL), -1, LinphoneConferenceLayoutActiveSpeaker, - LinphoneConferenceParticipantListTypeClosed, FALSE, TRUE); + LinphoneConferenceParticipantListTypeClosed, FALSE, TRUE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_dial_out_with_late_participant_addition(void) { create_conference_with_late_participant_addition_base(-1, -1, LinphoneConferenceLayoutActiveSpeaker, - LinphoneConferenceParticipantListTypeOpen, TRUE, TRUE); + LinphoneConferenceParticipantListTypeOpen, TRUE, TRUE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_dial_out_with_many_late_participant_additions(void) { create_conference_with_late_participant_addition_base(-1, -1, LinphoneConferenceLayoutGrid, - LinphoneConferenceParticipantListTypeOpen, TRUE, FALSE); + LinphoneConferenceParticipantListTypeOpen, TRUE, FALSE, + LinphoneConferenceSecurityLevelNone); } static void simple_dial_out_conference_with_no_payloads(void) { @@ -11732,8 +12321,9 @@ static void simple_dial_out_conference_with_no_payloads(void) { const char *initialSubject = "Schedule of the trip towards the top of Europe"; const char *description = "To the top of the Mont Blanc!!!! :-)"; - LinphoneAddress *confAddr = - create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, description, FALSE); + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; + LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, -1, -1, initialSubject, + description, FALSE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); LinphoneConference *fconference = @@ -11908,11 +12498,12 @@ static void abort_call_to_ice_conference(void) { time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test aborted ICE call"; const char *description = "Grenoble"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; stats focus_stat = focus.getStats(); LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -12019,6 +12610,8 @@ static void abort_call_to_ice_conference(void) { } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = 3; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -12226,7 +12819,8 @@ static void edit_simple_conference_base(bool_t from_organizer, bool_t enable_bundle_mode, bool_t join, bool_t enable_encryption, - bool_t server_restart) { + bool_t server_restart, + LinphoneConferenceSecurityLevel security_level) { Focus focus("chloe_rc"); { // to make sure focus is destroyed after clients. ClientConference marie("marie_rc", focus.getIdentity()); @@ -12288,7 +12882,7 @@ static void edit_simple_conference_base(bool_t from_organizer, const char *description = "Testing characters"; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, invitedParticipants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -12449,15 +13043,16 @@ static void edit_simple_conference_base(bool_t from_organizer, bool_t enabled = !!linphone_video_activation_policy_get_automatically_initiate(pol); linphone_video_activation_policy_unref(pol); - int no_streams_audio = 1; - int no_streams_video = 3; - int no_active_streams_video = no_streams_video; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_streams_video = 3; + size_t no_active_streams_video = no_streams_video; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -12470,7 +13065,8 @@ static void edit_simple_conference_base(bool_t from_organizer, LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -12794,7 +13390,8 @@ static void edit_simple_conference_base(bool_t from_organizer, } check_conference_info(mgr, confAddr, marie.getCMgr(), ((use_default_account && add) ? 3 : 2) + ((join) ? 1 : 0), start_time, - duration, exp_subject, exp_description, exp_sequence, exp_state); + duration, exp_subject, exp_description, exp_sequence, exp_state, + security_level); if (mgr != focus.getCMgr()) { for (auto &p : participants) { @@ -12836,26 +13433,26 @@ static void edit_simple_conference_base(bool_t from_organizer, } static void organizer_edits_simple_conference(void) { - edit_simple_conference_base(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE); + edit_simple_conference_base(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, LinphoneConferenceSecurityLevelNone); } static void organizer_edits_simple_conference_using_different_account(void) { - edit_simple_conference_base(TRUE, FALSE, TRUE, FALSE, FALSE, FALSE); + edit_simple_conference_base(TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, LinphoneConferenceSecurityLevelNone); } static void organizer_edits_simple_conference_while_active(void) { - edit_simple_conference_base(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE); + edit_simple_conference_base(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, LinphoneConferenceSecurityLevelNone); } static void participant_edits_simple_conference(void) { - edit_simple_conference_base(FALSE, TRUE, TRUE, FALSE, FALSE, FALSE); + edit_simple_conference_base(FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, LinphoneConferenceSecurityLevelNone); } static void participant_edits_simple_conference_using_different_account(void) { - edit_simple_conference_base(FALSE, FALSE, FALSE, FALSE, TRUE, FALSE); + edit_simple_conference_base(FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, LinphoneConferenceSecurityLevelNone); } static void organizer_edits_simple_conference_with_server_restart(void) { - edit_simple_conference_base(TRUE, TRUE, FALSE, FALSE, TRUE, TRUE); + edit_simple_conference_base(TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, LinphoneConferenceSecurityLevelNone); } static void conference_edition_with_simultaneous_participant_add_remove_base(bool_t codec_mismatch) { @@ -12913,9 +13510,10 @@ static void conference_edition_with_simultaneous_participant_add_remove_base(boo time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test characters: <S-F12><S-F11><S-F6> £$%§"; const char *description = "Testing characters"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -13138,7 +13736,7 @@ static void conference_edition_with_simultaneous_participant_add_remove_base(boo } } check_conference_info(mgr, confAddr, marie.getCMgr(), participants.size(), start_time, duration, - exp_subject, exp_description, exp_sequence, exp_state); + exp_subject, exp_description, exp_sequence, exp_state, security_level); } if (info) { linphone_conference_info_unref(info); @@ -13188,9 +13786,10 @@ static void conference_cancelled_through_edit_base(bool_t server_restart) { time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test characters: <S-F12><S-F11><S-F6> £$%§"; const char *description = "Testing characters"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -13586,7 +14185,7 @@ static void conference_cancelled_through_edit_base(bool_t server_restart) { exp_sequence = (sequence + 1); } check_conference_info(mgr, confAddr, marie.getCMgr(), exp_participant_number, start_time, new_duration, - exp_subject, exp_description, exp_sequence, exp_state); + exp_subject, exp_description, exp_sequence, exp_state, security_level); } if (info) { linphone_conference_info_unref(info); @@ -13642,7 +14241,7 @@ static void conference_with_participant_added_outside_valid_time_slot (bool_t be const char *initialSubject = "Colleagues"; const char *description = "Tom Black"; - LinphoneAddress* confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, initialSubject, description, TRUE); + LinphoneAddress* confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS BC_ASSERT_TRUE(wait_for_list(coresList, &marie.getStats().number_of_LinphoneConferenceStateCreated, 2, liblinphone_tester_sip_timeout)); @@ -13732,13 +14331,16 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo coresList = bctbx_list_append(coresList, michelle.getLc()); coresList = bctbx_list_append(coresList, berthe.getLc()); + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; + std::list<LinphoneCoreManager *> participants1{pauline.getCMgr(), laure.getCMgr()}; time_t start_time1 = ms_time(NULL); time_t end_time1 = (start_time1 + 600); const char *subject1 = "Colleagues"; const char *description1 = NULL; LinphoneAddress *confAddr1 = create_conference_on_server(focus, marie, participants1, start_time1, end_time1, - subject1, description1, TRUE); + subject1, description1, TRUE, security_level); + BC_ASSERT_PTR_NOT_NULL(confAddr1); char *conference1_address_str = (confAddr1) ? linphone_address_as_string(confAddr1) : ms_strdup("<unknown>"); BC_ASSERT_PTR_NOT_NULL(confAddr1); // Chat room creation to send ICS @@ -13834,6 +14436,8 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time1, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = 3; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -13879,7 +14483,7 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo participants2.push_back(michelle.getCMgr()); mgr_having_two_confs.push_back(marie.getCMgr()); confAddr2 = create_conference_on_server(focus, marie, participants2, start_time2, end_time2, subject2, - description2, TRUE); + description2, TRUE, security_level); // Chat room creation to send ICS BC_ASSERT_TRUE(wait_for_list(coresList, &marie.getStats().number_of_LinphoneConferenceStateCreated, 3, @@ -13892,7 +14496,7 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo mgr_in_conf2.push_back(marie.getCMgr()); } confAddr2 = create_conference_on_server(focus, michelle, participants2, start_time2, end_time2, subject2, - description2, TRUE); + description2, TRUE, security_level); // Chat room creation to send ICS BC_ASSERT_TRUE(wait_for_list(coresList, &michelle.getStats().number_of_LinphoneConferenceStateCreated, 2, @@ -14095,6 +14699,8 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time2, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = 3; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -14509,11 +15115,8 @@ static void two_overlapping_conferences_base(bool_t same_organizer, bool_t dialo LinphoneConference *pconference = linphone_core_search_conference(mgr->lc, NULL, uri, confAddr1, NULL); BC_ASSERT_PTR_NOT_NULL(pconference); if (pconference) { - char *conference_address_str = - (confAddr1) ? linphone_address_as_string(confAddr1) : ms_strdup("<unknown>"); ms_message("%s is terminating conference %s", linphone_core_get_identity(mgr->lc), - conference_address_str); - ms_free(conference_address_str); + conference1_address_str); linphone_conference_terminate(pconference); } linphone_address_unref(uri); @@ -14585,7 +15188,8 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, LinphoneConferenceLayout layout, bool_t toggle_video, bool_t toggle_all_mananger_video, - bool_t change_layout) { + bool_t change_layout, + LinphoneConferenceSecurityLevel security_level) { Focus focus("chloe_rc"); { // to make sure focus is destroyed after clients. ClientConference marie("marie_rc", focus.getIdentity()); @@ -14771,7 +15375,7 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, if (confAddr) { check_conference_info(mgr, confAddr, marie.getCMgr(), 3, 0, 0, initialSubject, NULL, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); } } @@ -14802,7 +15406,7 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, old_stats.number_of_subject_changed + 1, liblinphone_tester_sip_timeout)); if (confAddr) { check_conference_info(mgr, confAddr, marie.getCMgr(), 3, 0, 0, newSubject, NULL, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); } participant_stats.pop_front(); } @@ -14978,13 +15582,14 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, if (confAddr) { check_conference_info(mgr, confAddr, marie.getCMgr(), 3, 0, 0, newSubject, NULL, 0, - LinphoneConferenceInfoStateNew); + LinphoneConferenceInfoStateNew, security_level); } } // wait bit more to detect side effect if any CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(5), [] { return false; }); + std::list<LinphoneCoreManager *> participantsMgr = {marie.getCMgr(), pauline.getCMgr(), laure.getCMgr()}; std::list<LinphoneCoreManager *> mgrList = {pauline.getCMgr()}; if (toggle_all_mananger_video) { mgrList.push_back(marie.getCMgr()); @@ -15010,8 +15615,8 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, } } - set_video_settings_in_conference(focus.getCMgr(), mgr, mgrList, confAddr, TRUE, video_direction, - TRUE, video_direction); + set_video_settings_in_conference(focus.getCMgr(), mgr, participantsMgr, confAddr, TRUE, + video_direction, TRUE, video_direction); LinphoneAddress *uri = linphone_address_new(linphone_core_get_identity(mgr->lc)); LinphoneConference *pconference = @@ -15218,15 +15823,18 @@ static void create_simple_conference_merging_calls_base(bool_t enable_ice, } static void create_simple_conference_merging_calls(void) { - create_simple_conference_merging_calls_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, FALSE); + create_simple_conference_merging_calls_base(FALSE, LinphoneConferenceLayoutActiveSpeaker, FALSE, FALSE, FALSE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_merging_calls_with_video_toggling(void) { - create_simple_conference_merging_calls_base(FALSE, LinphoneConferenceLayoutGrid, TRUE, TRUE, TRUE); + create_simple_conference_merging_calls_base(FALSE, LinphoneConferenceLayoutGrid, TRUE, TRUE, TRUE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_ice_conference_merging_calls(void) { - create_simple_conference_merging_calls_base(TRUE, LinphoneConferenceLayoutActiveSpeaker, TRUE, FALSE, TRUE); + create_simple_conference_merging_calls_base(TRUE, LinphoneConferenceLayoutActiveSpeaker, TRUE, FALSE, TRUE, + LinphoneConferenceSecurityLevelNone); } static void create_simple_conference_with_update_deferred(void) { @@ -15279,9 +15887,10 @@ static void create_simple_conference_with_update_deferred(void) { time_t end_time = (start_time + 300); const char *initialSubject = "Test characters: ^ :) ¤ çà @"; const char *description = "Paris Baker"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -15736,9 +16345,10 @@ static void change_active_speaker(void) { time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test group"; const char *description = "hello"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, invitesList, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -15842,12 +16452,14 @@ static void change_active_speaker(void) { LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, nbStreamsAudio, nbStreamsVideo, nbStreamsText); + _linphone_call_check_max_nb_streams( + pcall, nbStreamsAudio, (mgr != pauline.getCMgr() ? nbStreamsVideo : 0), nbStreamsText); } LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, nbStreamsAudio, nbStreamsVideo, nbStreamsText); + _linphone_call_check_max_nb_streams( + ccall, nbStreamsAudio, (mgr != pauline.getCMgr() ? nbStreamsVideo : 0), nbStreamsText); } } BC_ASSERT_EQUAL(linphone_conference_get_participant_count(pconference), nbParticipants, int, "%0d"); @@ -15996,9 +16608,10 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen time_t end_time = (duration <= 0) ? -1 : (start_time + duration * 60); const char *initialSubject = "Test characters: ^ :) ¤ çà @"; const char *description = "- <F2><F3>\n\\çà "; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, end_time, - initialSubject, description, TRUE); + initialSubject, description, TRUE, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // Chat room creation to send ICS @@ -16066,10 +16679,10 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen // wait bit more to detect side effect if any CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); - int no_streams_audio = 1; - int no_streams_video = 2; - int no_active_streams_video = (layout == LinphoneConferenceLayoutGrid) ? 0 : 1; - int no_streams_text = 0; + size_t no_streams_audio = 1; + size_t no_streams_video = 2; + size_t no_active_streams_video = (layout == LinphoneConferenceLayoutGrid) ? 0 : 1; + size_t no_streams_text = 0; for (auto mgr : {focus.getCMgr(), marie.getCMgr()}) { LinphoneConference *pconference = linphone_core_search_conference_2(mgr->lc, confAddr); @@ -16083,6 +16696,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen } BC_ASSERT_EQUAL((long long)linphone_conference_params_get_end_time(conference_params), (long long)end_time, long long, "%lld"); + BC_ASSERT_EQUAL((int)linphone_conference_params_get_security_level(conference_params), + (int)security_level, int, "%0d"); if (mgr == focus.getCMgr()) { no_participants = 1; BC_ASSERT_FALSE(linphone_conference_is_in(pconference)); @@ -16102,7 +16717,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -16115,7 +16730,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -16210,7 +16825,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); if (marie_calls_focus) { - _linphone_call_check_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(marie_calls_focus, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(marie_calls_focus); @@ -16223,7 +16838,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen (layout == LinphoneConferenceLayoutGrid)); } if (focus_called_by_marie) { - _linphone_call_check_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(focus_called_by_marie, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(focus_called_by_marie); @@ -16286,7 +16902,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); if (marie_calls_focus) { - _linphone_call_check_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(marie_calls_focus); @@ -16297,7 +16913,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen BC_ASSERT_TRUE(linphone_call_params_video_enabled(call_cparams)); } if (focus_called_by_marie) { - _linphone_call_check_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(focus_called_by_marie); @@ -16357,7 +16974,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); if (marie_calls_focus) { - _linphone_call_check_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(marie_calls_focus, no_streams_audio, 0, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(marie_calls_focus); BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_lparams)); @@ -16367,7 +16984,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_cparams)); } if (focus_called_by_marie) { - _linphone_call_check_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(focus_called_by_marie, no_streams_audio, 0, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(focus_called_by_marie); BC_ASSERT_FALSE(linphone_call_params_video_enabled(call_lparams)); @@ -16436,7 +17054,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); if (marie_calls_focus) { - _linphone_call_check_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(marie_calls_focus, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(marie_calls_focus); @@ -16449,7 +17067,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen (layout == LinphoneConferenceLayoutGrid)); } if (focus_called_by_marie) { - _linphone_call_check_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(focus_called_by_marie, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(focus_called_by_marie); @@ -16511,7 +17130,7 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen CoreManagerAssert({focus, marie, pauline, laure}).waitUntil(chrono::seconds(2), [] { return false; }); if (marie_calls_focus) { - _linphone_call_check_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(marie_calls_focus, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(marie_calls_focus); @@ -16522,7 +17141,8 @@ static void create_one_participant_conference_toggle_video_base(LinphoneConferen BC_ASSERT_TRUE(linphone_call_params_video_enabled(call_cparams)); } if (focus_called_by_marie) { - _linphone_call_check_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(focus_called_by_marie, no_streams_audio, no_streams_video, + no_streams_text); _linphone_call_check_nb_active_streams(focus_called_by_marie, no_streams_audio, no_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(focus_called_by_marie); @@ -16661,12 +17281,13 @@ static void create_conference_with_active_call_base(bool_t dialout) { const char *initialSubject = "Schedule of the trip towards the top of Europe"; const char *description = "To the top of the Mont Blanc!!!! :-)"; + LinphoneConferenceSecurityLevel security_level = LinphoneConferenceSecurityLevelNone; time_t start_time = (dialout) ? -1 : (ms_time(NULL) + 10); bool_t send_ics = TRUE; LinphoneAddress *confAddr = create_conference_on_server(focus, marie, participants, start_time, -1, - initialSubject, description, send_ics); + initialSubject, description, send_ics, security_level); BC_ASSERT_PTR_NOT_NULL(confAddr); // the conference server calls Berthe - who knows why...... @@ -16875,6 +17496,8 @@ static void create_conference_with_active_call_base(bool_t dialout) { long long, "%lld"); const int duration_m = linphone_conference_info_get_duration(call_log_info); BC_ASSERT_EQUAL(duration_m, 0, int, "%d"); + BC_ASSERT_EQUAL((int)linphone_conference_info_get_security_level(call_log_info), + (int)security_level, int, "%0d"); if (initialSubject) { BC_ASSERT_STRING_EQUAL(linphone_conference_info_get_subject(call_log_info), initialSubject); } else { @@ -17018,15 +17641,16 @@ static void create_conference_with_active_call_base(bool_t dialout) { } bool_t enabled = FALSE; - int no_streams_audio = 1; - int no_streams_video = 0; - int no_active_streams_video = 0; - int no_streams_text = 0; + bool_t video_strem_enabled = dialout && (mgr->lc == marie.getLc()); + size_t no_streams_audio = 1; + size_t no_streams_video = (video_strem_enabled) ? 1 : 0; + size_t no_active_streams_video = 0; + size_t no_streams_text = 0; LinphoneCall *pcall = linphone_core_get_call_by_remote_address2(mgr->lc, confAddr); BC_ASSERT_PTR_NOT_NULL(pcall); if (pcall) { - _linphone_call_check_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(pcall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(pcall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(pcall); @@ -17040,7 +17664,7 @@ static void create_conference_with_active_call_base(bool_t dialout) { LinphoneCall *ccall = linphone_core_get_call_by_remote_address2(focus.getLc(), mgr->identity); BC_ASSERT_PTR_NOT_NULL(ccall); if (ccall) { - _linphone_call_check_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); + _linphone_call_check_max_nb_streams(ccall, no_streams_audio, no_streams_video, no_streams_text); _linphone_call_check_nb_active_streams(ccall, no_streams_audio, no_active_streams_video, no_streams_text); const LinphoneCallParams *call_lparams = linphone_call_get_params(ccall); @@ -17381,8 +18005,14 @@ static test_t local_conference_scheduled_conference_basic_tests[] = { TEST_NO_TAG("Create conference with late participant addition", LinphoneTest::create_conference_with_late_participant_addition), TEST_NO_TAG("Organizer schedules 2 conferences", LinphoneTest::organizer_schedule_two_conferences), + TEST_NO_TAG("Create simple point-to-point encrypted conference", + LinphoneTest::create_simple_point_to_point_encrypted_conference), + TEST_NO_TAG("Create simple end-to-end encrypted conference", + LinphoneTest::create_simple_end_to_end_encrypted_conference), TEST_NO_TAG("Create conference starting immediately", LinphoneTest::create_conference_starting_immediately), TEST_NO_TAG("Create conference starting in the past", LinphoneTest::create_conference_starting_in_the_past), + TEST_NO_TAG("Create conference with audio only participants", + LinphoneTest::create_conference_with_audio_only_participants), TEST_NO_TAG("Create conference with participant codec mismatch", LinphoneTest::create_conference_with_participant_codec_mismatch), TEST_NO_TAG("Create conference with organizer codec mismatch", @@ -17418,6 +18048,8 @@ static test_t local_conference_scheduled_conference_advanced_tests[] = { LinphoneTest::two_overlapping_scheduled_conferences_from_different_organizers), TEST_NO_TAG("Create scheduled conference with active call", LinphoneTest::create_scheduled_conference_with_active_call), + TEST_NO_TAG("Create end-to-end encrypted conference with audio only participants", + LinphoneTest::create_end_to_end_encryption_conference_with_audio_only_participants), TEST_NO_TAG("Change active speaker", LinphoneTest::change_active_speaker)}; static test_t local_conference_conference_edition_tests[] = { @@ -17451,6 +18083,10 @@ static test_t local_conference_scheduled_ice_conference_tests[] = { LinphoneTest::create_simple_stun_ice_conference_with_audio_only_participant), TEST_NO_TAG("Create simple STUN+ICE SRTP conference with audio only participant", LinphoneTest::create_simple_stun_ice_srtp_conference_with_audio_only_participant), + TEST_NO_TAG("Create simple point-to-point encrypted ICE conference", + LinphoneTest::create_simple_point_to_point_encrypted_ice_conference), + TEST_NO_TAG("Create simple end-to-end encrypted ICE conference", + LinphoneTest::create_simple_end_to_end_encrypted_ice_conference), TEST_ONE_TAG("Abort call to ICE conference", LinphoneTest::abort_call_to_ice_conference, "LeaksMemory") /* because of aborted calls*/ @@ -17458,6 +18094,10 @@ static test_t local_conference_scheduled_ice_conference_tests[] = { static test_t local_conference_inpromptu_conference_tests[] = { TEST_NO_TAG("Create simple dial out conference", LinphoneTest::create_simple_conference_dial_out), + TEST_NO_TAG("Create simple point-to-point encrypted dial out conference", + LinphoneTest::create_simple_point_to_point_encrypted_conference_dial_out), + TEST_NO_TAG("Create simple end-to-end encrypted dial out conference", + LinphoneTest::create_simple_end_to_end_encrypted_conference_dial_out), TEST_NO_TAG("Create simple dial out conference and ICS sent", LinphoneTest::create_simple_conference_dial_out_and_ics), TEST_NO_TAG("Create simple dial out conference with late participant addition", diff --git a/tester/main-db-tester.cpp b/tester/main-db-tester.cpp index 7657915dfd..3a94c5b7aa 100644 --- a/tester/main-db-tester.cpp +++ b/tester/main-db-tester.cpp @@ -19,14 +19,13 @@ */ #include "address/address.h" +#include "c-wrapper/internal/c-tools.h" #include "core/core-p.h" #include "db/main-db.h" #include "event-log/events.h" - -// TODO: Remove me. <3 -#include "private.h" - +// TODO: Remove me. #include "liblinphone_tester.h" +#include "private.h" #include "tools/tester.h" // ============================================================================= diff --git a/tester/shared_tester_functions.cpp b/tester/shared_tester_functions.cpp index 8fa449565e..234db23ae4 100644 --- a/tester/shared_tester_functions.cpp +++ b/tester/shared_tester_functions.cpp @@ -367,27 +367,42 @@ void _linphone_call_check_nb_streams(const LinphoneCall *call, const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); BC_ASSERT_PTR_NOT_NULL(call_result_desc); if (call_result_desc) { - BC_ASSERT_EQUAL((int)call_result_desc->getNbStreams(), nb_audio_streams + nb_video_streams + nb_text_streams, - int, "%i"); - BC_ASSERT_EQUAL((int)call_result_desc->nbStreamsOfType(SalAudio), nb_audio_streams, int, "%i"); - BC_ASSERT_EQUAL((int)call_result_desc->nbStreamsOfType(SalVideo), nb_video_streams, int, "%i"); - BC_ASSERT_EQUAL((int)call_result_desc->nbStreamsOfType(SalText), nb_text_streams, int, "%i"); + BC_ASSERT_LOWER(call_result_desc->getNbStreams(), nb_audio_streams + nb_video_streams + nb_text_streams, size_t, + "%zu"); + BC_ASSERT_LOWER(call_result_desc->nbStreamsOfType(SalAudio), nb_audio_streams, size_t, "%zu"); + BC_ASSERT_LOWER(call_result_desc->nbStreamsOfType(SalVideo), nb_video_streams, size_t, "%zu"); + BC_ASSERT_LOWER(call_result_desc->nbStreamsOfType(SalText), nb_text_streams, size_t, "%zu"); + } +} + +void _linphone_call_check_nb_streams(const LinphoneCall *call, + const size_t nb_audio_streams, + const size_t nb_video_streams, + const size_t nb_text_streams) { + const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); + BC_ASSERT_PTR_NOT_NULL(call_result_desc); + if (call_result_desc) { + BC_ASSERT_EQUAL(call_result_desc->getNbStreams(), nb_audio_streams + nb_video_streams + nb_text_streams, size_t, + "%zu"); + BC_ASSERT_EQUAL(call_result_desc->nbStreamsOfType(SalAudio), nb_audio_streams, size_t, "%zu"); + BC_ASSERT_EQUAL(call_result_desc->nbStreamsOfType(SalVideo), nb_video_streams, size_t, "%zu"); + BC_ASSERT_EQUAL(call_result_desc->nbStreamsOfType(SalText), nb_text_streams, size_t, "%zu"); } } -int _linphone_call_get_nb_audio_steams(const LinphoneCall *call) { +size_t _linphone_call_get_nb_audio_steams(const LinphoneCall *call) { const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); - return (int)call_result_desc->nbStreamsOfType(SalAudio); + return call_result_desc->nbStreamsOfType(SalAudio); } -int _linphone_call_get_nb_video_steams(const LinphoneCall *call) { +size_t _linphone_call_get_nb_video_steams(const LinphoneCall *call) { const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); - return (int)call_result_desc->nbStreamsOfType(SalVideo); + return call_result_desc->nbStreamsOfType(SalVideo); } -int _linphone_call_get_nb_text_steams(const LinphoneCall *call) { +size_t _linphone_call_get_nb_text_steams(const LinphoneCall *call) { const SalMediaDescription *call_result_desc = _linphone_call_get_result_desc(call); - return (int)call_result_desc->nbStreamsOfType(SalText); + return call_result_desc->nbStreamsOfType(SalText); } LinphoneConferenceLayout _linphone_participant_device_get_layout(const LinphoneParticipantDevice *participant_device) { @@ -427,12 +442,12 @@ bool_t _linphone_participant_device_get_real_time_text_enabled(const LinphonePar } void _linphone_call_check_nb_active_streams(const LinphoneCall *call, - const int nb_audio_streams, - const int nb_video_streams, - const int nb_text_streams) { - BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeAudio), nb_audio_streams, int, "%d"); - BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb_video_streams, int, "%d"); - BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeText), nb_text_streams, int, "%d"); + const size_t nb_audio_streams, + const size_t nb_video_streams, + const size_t nb_text_streams) { + BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeAudio), nb_audio_streams, size_t, "%zu"); + BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb_video_streams, size_t, "%zu"); + BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeText), nb_text_streams, size_t, "%zu"); } void check_video_conference(bctbx_list_t *lcs, @@ -465,15 +480,15 @@ void check_video_conference(bctbx_list_t *lcs, LinphoneConference *conference1 = linphone_call_get_conference(call1); BC_ASSERT_PTR_NOT_NULL(conference1); if (conference1) { - int nb = (linphone_conference_get_participant_count(conference1) + 2); - BC_ASSERT_EQUAL(Call::toCpp(call1)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, int, "%d"); + size_t nb = static_cast<size_t>(linphone_conference_get_participant_count(conference1) + 2); + BC_ASSERT_EQUAL(Call::toCpp(call1)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, size_t, "%zu"); } LinphoneConference *conference2 = linphone_call_get_conference(call1); BC_ASSERT_PTR_NOT_NULL(conference2); if (conference2) { - int nb = (linphone_conference_get_participant_count(conference2) + 2); - BC_ASSERT_EQUAL(Call::toCpp(call2)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, int, "%d"); + size_t nb = static_cast<size_t>(linphone_conference_get_participant_count(conference2) + 2); + BC_ASSERT_EQUAL(Call::toCpp(call2)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, size_t, "%zu"); } linphone_call_check_rtp_sessions(call1); @@ -497,7 +512,7 @@ void check_video_conference_with_local_participant(bctbx_list_t *participants, const LinphoneCallParams *call_params = linphone_call_get_current_params(call); const bool_t video_enabled = linphone_call_params_video_enabled(call_params); - int nb = (static_cast<int>((bctbx_list_size(participants) + (local_participant ? 2 : 1)))); + size_t nb = ((bctbx_list_size(participants) + (local_participant ? 2 : 1))); if (!video_enabled) { if (layout == LinphoneConferenceLayoutActiveSpeaker) { // Only thumbnail corresponding to the participant is going to be inactivated @@ -507,7 +522,7 @@ void check_video_conference_with_local_participant(bctbx_list_t *participants, nb -= 2; } } - BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, int, "%d"); + BC_ASSERT_EQUAL(Call::toCpp(call)->getMediaStreamsNb(LinphoneStreamTypeVideo), nb, size_t, "%zu"); if (video_enabled) { linphone_call_check_rtp_sessions(call); } diff --git a/tester/shared_tester_functions.h b/tester/shared_tester_functions.h index dc1762d8b7..f226172d76 100644 --- a/tester/shared_tester_functions.h +++ b/tester/shared_tester_functions.h @@ -46,20 +46,20 @@ void check_result_desc_rtp_rtcp_ports(LinphoneCall *call, int rtp_port, int rtcp void _check_call_media_ip_consistency(LinphoneCall *call); void _linphone_call_check_nb_active_streams(const LinphoneCall *call, - const int nb_audio_streams, - const int nb_video_streams, - const int nb_text_streams); + const size_t nb_audio_streams, + const size_t nb_video_streams, + const size_t nb_text_streams); void _linphone_call_check_nb_streams(const LinphoneCall *call, - const int nb_audio_streams, - const int nb_video_streams, - const int nb_text_streams); + const size_t nb_audio_streams, + const size_t nb_video_streams, + const size_t nb_text_streams); void _linphone_call_check_max_nb_streams(const LinphoneCall *call, const size_t nb_audio_streams, const size_t nb_video_streams, const size_t nb_text_streams); -int _linphone_call_get_nb_audio_steams(const LinphoneCall *call); -int _linphone_call_get_nb_video_steams(const LinphoneCall *call); -int _linphone_call_get_nb_text_steams(const LinphoneCall *call); +size_t _linphone_call_get_nb_audio_steams(const LinphoneCall *call); +size_t _linphone_call_get_nb_video_steams(const LinphoneCall *call); +size_t _linphone_call_get_nb_text_steams(const LinphoneCall *call); LinphoneConferenceLayout _linphone_participant_device_get_layout(const LinphoneParticipantDevice *participant_device); bool_t _linphone_participant_device_get_audio_enabled(const LinphoneParticipantDevice *participant_device); bool_t _linphone_participant_device_get_video_enabled(const LinphoneParticipantDevice *participant_device); diff --git a/tester/tester.c b/tester/tester.c index 5bfa13b4e7..1ef5ddce58 100644 --- a/tester/tester.c +++ b/tester/tester.c @@ -87,7 +87,6 @@ const MSAudioDiffParams audio_cmp_params = {10, 200}; /* Default test server infrastructure. You may change to sandbox infrastructure to test changes to the infrastructure * first. */ const char *flexisip_tester_dns_server = "fs-test-7.linphone.org"; - // const char* flexisip_tester_dns_server = "fs-test-sandbox.linphone.org"; bctbx_list_t *flexisip_tester_dns_ip_addresses = NULL; -- GitLab