reSIProcate/repro  9694
Public Member Functions
repro::SimpleTargetHandler Class Reference

#include <SimpleTargetHandler.hxx>

Inheritance diagram for repro::SimpleTargetHandler:
Inheritance graph
[legend]
Collaboration diagram for repro::SimpleTargetHandler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SimpleTargetHandler ()
virtual ~SimpleTargetHandler ()
virtual processor_action_t process (RequestContext &)

Detailed Description

Definition at line 10 of file SimpleTargetHandler.hxx.


Constructor & Destructor Documentation

repro::SimpleTargetHandler::SimpleTargetHandler ( )

Definition at line 9 of file SimpleTargetHandler.cxx.

                                         :
   Processor("SimpleTargetHandler")
{
}
repro::SimpleTargetHandler::~SimpleTargetHandler ( ) [virtual]

Definition at line 14 of file SimpleTargetHandler.cxx.

{
}

Member Function Documentation

Processor::processor_action_t repro::SimpleTargetHandler::process ( RequestContext rc) [virtual]

Implements repro::Processor.

Definition at line 19 of file SimpleTargetHandler.cxx.

{
   ResponseContext& rsp=rc.getResponseContext();

   std::list<std::list<resip::Data> >& tidBank = rsp.mTransactionQueueCollection;
   std::list<std::list<resip::Data> >::iterator outer=tidBank.begin();
   while(!rsp.hasActiveTransactions() && outer!=tidBank.end())
   {   
      for(; outer!=tidBank.end() && !rsp.hasActiveTransactions(); outer++)
      {
         std::list<resip::Data>::const_iterator i;
         for(i=outer->begin();i!=outer->end();i++)
         {
            rsp.beginClientTransaction(*i);
         }
      }
   }
   
   if(rsp.hasActiveTransactions())
   {
      return Processor::SkipAllChains;
   }
   else
   {
      //If after all this we still don't have any active transactions,
      //make it a free-for-all.
      rsp.beginClientTransactions();
      return Processor::Continue;
   }
}

The documentation for this class was generated from the following files: