Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

BinPAC::DCE_RPC_Response Class Reference

#include <dce_rpc_pac.h>

Collaboration diagram for BinPAC::DCE_RPC_Response:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DCE_RPC_Response (int arg_length)
 ~DCE_RPC_Response ()
int parse (const uint8 *const t_begin_of_data, const uint8 *const t_end_of_data, int t_byteorder)
int const  length () const
uint32 const & alloc_hint () const
p_context_id_t *const & p_cont_id () const
uint8 const & cancel_count () const
uint8 const & reserved () const
array< uint8 > const & stub () const

Protected Attributes

int length_
uint32 alloc_hint_
p_context_id_tp_cont_id_
uint8 cancel_count_
uint8 reserved_
array< uint8stub_

Constructor & Destructor Documentation

BinPAC::DCE_RPC_Response::DCE_RPC_Response int  arg_length  ) 
 

Definition at line 479 of file dce_rpc_pac.cc.

References alloc_hint_, cancel_count_, length_, BinPAC::make_array(), p_cont_id_, reserved_, and stub_.

00480         {
00481         length_ = arg_length;
00482         alloc_hint_ = 0;
00483         p_cont_id_ = 0;
00484         cancel_count_ = 0;
00485         reserved_ = 0;
00486         make_array(stub_, 0);
00487         }

BinPAC::DCE_RPC_Response::~DCE_RPC_Response  ) 
 

Definition at line 489 of file dce_rpc_pac.cc.

References BinPAC::delete_array(), p_cont_id_, and stub_.

00490         {
00491         delete p_cont_id_;
00492         delete_array(stub_);
00493         }


Member Function Documentation

uint32 const& BinPAC::DCE_RPC_Response::alloc_hint  )  const [inline]
 

Definition at line 258 of file dce_rpc_pac.h.

References alloc_hint_, and BinPAC::uint32.

00258 { return alloc_hint_; }

uint8 const& BinPAC::DCE_RPC_Response::cancel_count  )  const [inline]
 

Definition at line 260 of file dce_rpc_pac.h.

References cancel_count_, and BinPAC::uint8.

00260 { return cancel_count_; }

int const BinPAC::DCE_RPC_Response::length  )  const [inline]
 

Definition at line 257 of file dce_rpc_pac.h.

References length_.

Referenced by parse().

00257 { return length_; };

p_context_id_t* const& BinPAC::DCE_RPC_Response::p_cont_id  )  const [inline]
 

Definition at line 259 of file dce_rpc_pac.h.

References p_cont_id_.

00259 { return p_cont_id_; }

int BinPAC::DCE_RPC_Response::parse const uint8 *const  t_begin_of_data,
const uint8 *const  t_end_of_data,
int  t_byteorder
 

Definition at line 495 of file dce_rpc_pac.cc.

References alloc_hint_, cancel_count_, length(), p_cont_id_, BinPAC::p_context_id_t::parse(), reserved_, stub_, and BinPAC::uint8.

00496         {
00497         // Checking out-of-bound for "DCE_RPC_Response:reserved"
00498         if ( (t_begin_of_data + 7) + (1) > t_end_of_data )
00499                 {
00500                 // Handle out-of-bound condition
00501                 throw ExceptionOutOfBound("DCE_RPC_Response:reserved",
00502                         (7) + (1), 
00503                         (t_end_of_data) - (t_begin_of_data));
00504                 }
00505         // Parse "alloc_hint"
00506         alloc_hint_ = UnMarshall<uint32>(t_begin_of_data, alloc_hint_, t_byteorder);
00507         
00508         // Parse "p_cont_id"
00509         p_cont_id_ = new p_context_id_t();
00510         p_cont_id_->parse((t_begin_of_data + 4), t_end_of_data, t_byteorder);
00511         
00512         // Parse "cancel_count"
00513         cancel_count_ = *((uint8 *) ((t_begin_of_data + 6)));
00514         
00515         // Parse "reserved"
00516         reserved_ = *((uint8 *) ((t_begin_of_data + 7)));
00517         
00518         // Parse "stub"
00519         int t_stub__arraylength = length() - 8;
00520         int t_stub__size = 1 * t_stub__arraylength;
00521         // Checking out-of-bound for "DCE_RPC_Response:stub"
00522         if ( (t_begin_of_data + 8) + (t_stub__size) > t_end_of_data )
00523                 {
00524                 // Handle out-of-bound condition
00525                 throw ExceptionOutOfBound("DCE_RPC_Response:stub",
00526                         (8) + (t_stub__size), 
00527                         (t_end_of_data) - (t_begin_of_data));
00528                 }
00529         make_array<uint8>(stub_, t_stub__arraylength);
00530         const uint8* t_stub__elem__data = (t_begin_of_data + 8);
00531         for ( int t_stub__elem__it = 0; 
00532                 t_stub__elem__it < t_stub__arraylength; 
00533                 ++t_stub__elem__it )
00534                 {
00535                 uint8 t_stub__elem;
00536                 t_stub__elem = *((uint8 *) (t_stub__elem__data));
00537                 stub_.v[t_stub__elem__it] = t_stub__elem;
00538                 t_stub__elem__data += 1;
00539                 }
00540         
00541         const uint8* const t_dataptr_after_stub = (t_begin_of_data + 8) + (t_stub__size);
00542         int t_val__size = t_dataptr_after_stub - t_begin_of_data;
00543         return t_val__size;
00544         }

uint8 const& BinPAC::DCE_RPC_Response::reserved  )  const [inline]
 

Definition at line 261 of file dce_rpc_pac.h.

References reserved_, and BinPAC::uint8.

00261 { return reserved_; }

array<uint8> const& BinPAC::DCE_RPC_Response::stub  )  const [inline]
 

Definition at line 262 of file dce_rpc_pac.h.

References stub_.

Referenced by DCE_RPC_Session::DeliverEpmapperMapResponse(), and DCE_RPC_Session::DeliverResponse().

00262 { return stub_; }


Member Data Documentation

uint32 BinPAC::DCE_RPC_Response::alloc_hint_ [protected]
 

Definition at line 266 of file dce_rpc_pac.h.

Referenced by alloc_hint(), DCE_RPC_Response(), and parse().

uint8 BinPAC::DCE_RPC_Response::cancel_count_ [protected]
 

Definition at line 268 of file dce_rpc_pac.h.

Referenced by cancel_count(), DCE_RPC_Response(), and parse().

int BinPAC::DCE_RPC_Response::length_ [protected]
 

Definition at line 265 of file dce_rpc_pac.h.

Referenced by DCE_RPC_Response(), and length().

p_context_id_t* BinPAC::DCE_RPC_Response::p_cont_id_ [protected]
 

Definition at line 267 of file dce_rpc_pac.h.

Referenced by DCE_RPC_Response(), p_cont_id(), parse(), and ~DCE_RPC_Response().

uint8 BinPAC::DCE_RPC_Response::reserved_ [protected]
 

Definition at line 269 of file dce_rpc_pac.h.

Referenced by DCE_RPC_Response(), parse(), and reserved().

array<uint8> BinPAC::DCE_RPC_Response::stub_ [protected]
 

Definition at line 270 of file dce_rpc_pac.h.

Referenced by DCE_RPC_Response(), parse(), stub(), and ~DCE_RPC_Response().


The documentation for this class was generated from the following files:
Generated on Wed Sep 14 03:16:13 2005 for bro_docs by doxygen 1.3.5