summaryrefslogtreecommitdiff
path: root/TAO/tao/GIOP_Message_Handler.inl
blob: 561efaf6a2fa160f2954855e2dfb07d43bcc9d07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// -*- C++ -*-
// $Id$

ACE_INLINE TAO_GIOP_Message_State &
TAO_GIOP_Message_Handler::message_state (void)
{
  return this->message_state_;
}

ACE_INLINE ACE_Data_Block *
TAO_GIOP_Message_Handler::data_block (void) const
{
  return this->current_buffer_.data_block ();
}

ACE_INLINE ACE_Data_Block *
TAO_GIOP_Message_Handler::data_block_dup (void)
{
  return this->current_buffer_.data_block ()->duplicate ();
}


ACE_INLINE void
TAO_GIOP_Message_Handler::reset (int /*reset_flag*/)
{
  // Reset the contents of the message state
  this->message_state_.reset (0);

  // Reset the current buffer
  this->current_buffer_.reset ();
  ACE_CDR::mb_align (&this->current_buffer_);

  if (this->message_status_ != TAO_GIOP_MULTIPLE_MESSAGES)
    {
      this->supp_buffer_.reset ();
      ACE_CDR::mb_align (&this->supp_buffer_);
    }

}

ACE_INLINE char *
TAO_GIOP_Message_Handler::rd_ptr (void) const
{
  if (this->supp_buffer_.length () > 0)
    return this->supp_buffer_.rd_ptr ();

  return this->current_buffer_.rd_ptr ();
}

ACE_INLINE size_t
TAO_GIOP_Message_Handler::rd_pos (void) const
{
  return
    this->current_buffer_.rd_ptr () - this->current_buffer_.base ();
}

ACE_INLINE size_t
TAO_GIOP_Message_Handler::wr_pos (void) const
{
  return
    this->current_buffer_.wr_ptr () - this->current_buffer_.base ();
}