|
reSIProcate/repro
9694
|
00001 #ifndef FORK_CONTROL_MESSAGE_HXX 00002 #define FORK_CONTROL_MESSAGE_HXX 1 00003 00004 #include "repro/ProcessorMessage.hxx" 00005 #include "resip/stack/NameAddr.hxx" 00006 #include "rutil/Data.hxx" 00007 #include "rutil/Inserter.hxx" 00008 00009 namespace repro 00010 { 00011 00012 class ForkControlMessage : public ProcessorMessage 00013 { 00014 public: 00015 ForkControlMessage( const repro::Processor& proc, 00016 const resip::Data& tid, 00017 resip::TransactionUser* tuPassed, 00018 bool cancelAllClientTransactions=false): 00019 ProcessorMessage(proc,tid,tuPassed) 00020 { 00021 mShouldCancelAll=cancelAllClientTransactions; 00022 } 00023 00024 ForkControlMessage(const ForkControlMessage& orig): 00025 ProcessorMessage(orig) 00026 { 00027 mShouldCancelAll=orig.mShouldCancelAll; 00028 mTransactionsToProcess=orig.mTransactionsToProcess; 00029 mTransactionsToCancel=orig.mTransactionsToCancel; 00030 } 00031 00032 virtual ~ForkControlMessage(){} 00033 00034 virtual ForkControlMessage* clone() const 00035 { 00036 return new ForkControlMessage(*this); 00037 } 00038 00039 virtual EncodeStream& encode(EncodeStream& ostr) const 00040 { 00041 ostr << "ForkControlMessage(tid="<<mTid<<"): " << 00042 ostr << " newTrans=" << resip::Inserter(mTransactionsToProcess) << 00043 ostr << " cancelTrans=" << resip::Inserter(mTransactionsToCancel) << 00044 ostr << " cancelAll=" << mShouldCancelAll; 00045 return ostr; 00046 } 00047 virtual EncodeStream& encodeBrief(EncodeStream& ostr) const { return encode(ostr);} 00048 00049 std::vector<resip::Data> mTransactionsToProcess; 00050 std::vector<resip::Data> mTransactionsToCancel; 00051 bool mShouldCancelAll; 00052 }; //class 00053 00054 } //namespace repro 00055 #endif 00056 00057 00058 /* ==================================================================== 00059 * The Vovida Software License, Version 1.0 00060 * 00061 * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved. 00062 * 00063 * Redistribution and use in source and binary forms, with or without 00064 * modification, are permitted provided that the following conditions 00065 * are met: 00066 * 00067 * 1. Redistributions of source code must retain the above copyright 00068 * notice, this list of conditions and the following disclaimer. 00069 * 00070 * 2. Redistributions in binary form must reproduce the above copyright 00071 * notice, this list of conditions and the following disclaimer in 00072 * the documentation and/or other materials provided with the 00073 * distribution. 00074 * 00075 * 3. The names "VOCAL", "Vovida Open Communication Application Library", 00076 * and "Vovida Open Communication Application Library (VOCAL)" must 00077 * not be used to endorse or promote products derived from this 00078 * software without prior written permission. For written 00079 * permission, please contact vocal@vovida.org. 00080 * 00081 * 4. Products derived from this software may not be called "VOCAL", nor 00082 * may "VOCAL" appear in their name, without prior written 00083 * permission of Vovida Networks, Inc. 00084 * 00085 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED 00086 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00087 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND 00088 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA 00089 * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES 00090 * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, 00091 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00092 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00093 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 00094 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00095 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 00096 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 00097 * DAMAGE. 00098 * 00099 * ==================================================================== 00100 */
1.7.5.1