reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
SimpleTargetHandler.cxx
Go to the documentation of this file.
1
#include "
repro/monkeys/SimpleTargetHandler.hxx
"
2
3
#include "
repro/RequestContext.hxx
"
4
#include "
repro/ResponseContext.hxx
"
5
6
namespace
repro
7
{
8
9
SimpleTargetHandler::SimpleTargetHandler
() :
10
Processor
(
"SimpleTargetHandler"
)
11
{
12
}
13
14
SimpleTargetHandler::~SimpleTargetHandler
()
15
{
16
}
17
18
Processor::processor_action_t
19
SimpleTargetHandler::process
(
RequestContext
&
rc
)
20
{
21
ResponseContext
&
rsp
=
rc
.getResponseContext();
22
23
std::list<std::list<resip::Data> >&
tidBank
=
rsp
.
mTransactionQueueCollection
;
24
std::list<std::list<resip::Data> >::iterator
outer
=
tidBank
.begin();
25
while
(!
rsp
.hasActiveTransactions() &&
outer
!=
tidBank
.end())
26
{
27
for
(;
outer
!=
tidBank
.end() && !
rsp
.hasActiveTransactions();
outer
++)
28
{
29
std::list<resip::Data>::const_iterator
i
;
30
for
(
i
=
outer
->begin();
i
!=
outer
->end();
i
++)
31
{
32
rsp
.beginClientTransaction(*
i
);
33
}
34
}
35
}
36
37
if
(
rsp
.hasActiveTransactions())
38
{
39
return
Processor::SkipAllChains
;
40
}
41
else
42
{
43
//If after all this we still don't have any active transactions,
44
//make it a free-for-all.
45
rsp
.beginClientTransactions();
46
return
Processor::Continue
;
47
}
48
}
49
50
}
51
52
/* ====================================================================
53
* The Vovida Software License, Version 1.0
54
*
55
* Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
56
*
57
* Redistribution and use in source and binary forms, with or without
58
* modification, are permitted provided that the following conditions
59
* are met:
60
*
61
* 1. Redistributions of source code must retain the above copyright
62
* notice, this list of conditions and the following disclaimer.
63
*
64
* 2. Redistributions in binary form must reproduce the above copyright
65
* notice, this list of conditions and the following disclaimer in
66
* the documentation and/or other materials provided with the
67
* distribution.
68
*
69
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
70
* and "Vovida Open Communication Application Library (VOCAL)" must
71
* not be used to endorse or promote products derived from this
72
* software without prior written permission. For written
73
* permission, please contact vocal@vovida.org.
74
*
75
* 4. Products derived from this software may not be called "VOCAL", nor
76
* may "VOCAL" appear in their name, without prior written
77
* permission of Vovida Networks, Inc.
78
*
79
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
80
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
81
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
82
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
83
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
84
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
85
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
86
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
87
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
88
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
89
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
90
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
91
* DAMAGE.
92
*
93
* ====================================================================
94
*/
RequestContext.hxx
ResponseContext.hxx
SimpleTargetHandler.hxx
repro::Processor
Definition
Processor.hxx:15
repro::Processor::processor_action_t
processor_action_t
Definition
Processor.hxx:29
repro::Processor::Continue
@ Continue
Definition
Processor.hxx:30
repro::Processor::SkipAllChains
@ SkipAllChains
Definition
Processor.hxx:33
repro::RequestContext
Definition
RequestContext.hxx:29
repro::ResponseContext
Definition
ResponseContext.hxx:30
repro::ResponseContext::mTransactionQueueCollection
std::list< std::list< resip::Data > > mTransactionQueueCollection
Definition
ResponseContext.hxx:228
repro::SimpleTargetHandler::~SimpleTargetHandler
virtual ~SimpleTargetHandler()
Definition
SimpleTargetHandler.cxx:14
repro::SimpleTargetHandler::SimpleTargetHandler
SimpleTargetHandler()
Definition
SimpleTargetHandler.cxx:9
repro::SimpleTargetHandler::process
virtual processor_action_t process(RequestContext &)
Definition
SimpleTargetHandler.cxx:19
repro
This Class is used to implement a primitive form of RPC using loose XML formatting.
Definition
AbstractDb.hxx:16
list
void list()
Definition
userAdmin.cxx:66
repro
monkeys
SimpleTargetHandler.cxx
Generated by
1.9.8