2#if defined(HAVE_CONFIG_H)
29app::onSendButtonClicked(im)
32 mPageManager.page(im);
47app::onSendButtonClicked(im)
49 mPageManager.page(im);
63app::onSendButtonClicked(im)
65 if(mPageManager.msgQueued() > 5 - 1)
69 mPageManager.page(im);
74 if(mPageManager.msgQueued() < 5)
83 if(mPageManager.msgQueued() < 5)
90#define RESIPROCATE_SUBSYSTEM Subsystem::DUM
100 mRequest(dialogSet.getCreator()->getLastRequest()),
107 this->clearMsgQueued();
121 bool do_page = mMsgQueue.empty();
123 item.contents = contents.release();
124 item.encryptionLevel = level;
125 mMsgQueue.push_back(item);
128 pageFirstMsgQueued();
136 std::unique_ptr<Contents> contents,
138 : mClientPagerMessageHandle(clientPagerMessageHandle),
139 mContents(std::move(contents)),
146 if(mClientPagerMessageHandle.isValid())
148 mClientPagerMessageHandle->page(std::move(mContents), mLevel);
154 return strm <<
"ClientPagerMessagePageCommand";
159 std::unique_ptr<Contents> mContents;
180 if (mMsgQueue.empty() ==
false)
184 pageFirstMsgQueued();
198 DebugLog ( <<
"ClientPagerMessageReq::dispatch(msg)" << msg.
brief());
202 DebugLog ( <<
"ClientPagerMessageReq::dispatch - encountered provisional response" << msg.
brief() );
209 if (msg.
header(h_CSeq).sequence() == mRequest->header(h_CSeq).sequence())
211 if (mMsgQueue.empty() ==
false)
213 delete mMsgQueue.front().contents;
214 mMsgQueue.pop_front();
215 if (mMsgQueue.empty() ==
false)
217 this->pageFirstMsgQueued();
228 if (msg.
header(h_CSeq).sequence() == mRequest->header(h_CSeq).sequence())
230 if (!mMsgQueue.empty())
235 MsgQueue::iterator contents;
236 for (contents = mMsgQueue.begin(); contents != mMsgQueue.end(); ++contents)
242 contents->contents = 0;
274 : mClientPagerMessage(clientPagerMessage)
280 mClientPagerMessage.end();
285 return strm <<
"ClientPagerMessageEndCommand";
300 return mMsgQueue.size();
304ClientPagerMessage::pageFirstMsgQueued()
307 mRequest->header(h_CSeq).sequence()++;
308 mRequest->setContents(mMsgQueue.front().contents);
310 DebugLog(<<
"ClientPagerMessage::pageFirstMsgQueued: " << *mRequest);
315ClientPagerMessage::clearMsgQueued()
317 MsgQueue::iterator contents;
318 for(contents = mMsgQueue.begin(); contents != mMsgQueue.end(); ++contents)
329 strm <<
"ClientPagerMessage queued: " << mMsgQueue.size();
#define WarningLog(args_)
#define resip_assert(x)
This file needs to work for both C and C++ code.
void executeCommand() override
EncodeStream & encodeBrief(EncodeStream &strm) const override
output a brief description to stream
ClientPagerMessageEndCommand(ClientPagerMessage &clientPagerMessage)
void executeCommand() override
EncodeStream & encodeBrief(EncodeStream &strm) const override
output a brief description to stream
ClientPagerMessagePageCommand(const ClientPagerMessageHandle &clientPagerMessageHandle, std::unique_ptr< Contents > contents, DialogUsageManager::EncryptionLevel level)
BaseUsageHandle getBaseHandle() const
DialogUsageManager & mDum
virtual void onSuccess(ClientPagerMessageHandle, const SipMessage &status)=0
virtual void onFailure(ClientPagerMessageHandle, const SipMessage &status, std::unique_ptr< Contents > contents)=0
kh!
Base class for all SIP body types.
void send(std::shared_ptr< SipMessage > request)
static void setOutgoingEncryptionLevel(SipMessage &message, DialogUsageManager::EncryptionLevel level)
static void makeResponse(SipMessage &response, const SipMessage &request, int responseCode, const Data &reason=Data::Empty, const Data &hostname=Data::Empty, const Data &warning=Data::Empty)
Make a response to a provided request.
virtual Brief brief() const
return a facet for brief encoding of message
Represents a SIP message.
const RequestLine & header(const RequestLineType &l) const
Returns the RequestLine. This is only valid for request messages.
bool isResponse() const
Returns true if message is a response, false otherwise.
void post(Message *msg)
Posts a Message to this TransactionUser's fifo.
dcm! – add UnusedChecking(_enum) below;
StatusLineType h_StatusLine
Handle< ClientPagerMessage > ClientPagerMessageHandle