Factor implementation of Package to .cpp.
[metaproxy-moved-to-github.git] / src / package.cpp
1 /* $Id: package.cpp,v 1.1 2005-11-11 15:00:25 adam Exp $
2    Copyright (c) 2005, Index Data.
3
4 %LICENSE%
5  */
6
7 #include "config.hpp"
8
9 #include "package.hpp"
10
11 yp2::Package::Package() 
12     :  m_filter(0), m_router(0), m_data(0)
13 {
14 }
15
16 yp2::Package::Package(yp2::Session &session, yp2::Origin &origin) 
17     : m_session(session), m_origin(origin),
18       m_filter(0), m_router(0), m_data(0)
19 {
20 }
21
22 yp2::Package & yp2::Package::copy_filter(const Package &p)
23 {
24     m_router = p.m_router;
25     m_filter = p.m_filter;
26     return *this;
27 }
28
29
30 void yp2::Package::move()
31 {
32     m_filter = m_router->move(m_filter, this);
33     if (m_filter)
34                 m_filter->process(*this);
35 }
36
37 yp2::Session & yp2::Package::session()
38 {
39     return m_session;
40 }
41
42
43 unsigned int yp2::Package::data() const
44 {
45     return m_data;
46 }
47
48 unsigned int & yp2::Package::data()
49 {
50     return m_data;
51 }
52         
53
54 yp2::Package & yp2::Package::data(const unsigned int & data)
55 {
56     m_data = data;
57     return *this;
58 }
59
60 yp2::Origin yp2::Package::origin() const 
61 {
62     return m_origin;
63 }
64         
65 yp2::Origin & yp2::Package::origin()
66 {
67     return m_origin;
68 }
69
70 yp2::Package & yp2::Package::origin(const Origin & origin)
71 {
72     m_origin = origin;
73     return *this;
74 }
75
76 yp2::Package & yp2::Package::router(const yp2::Router &router)
77 {
78     m_filter = 0;
79     m_router = &router;
80     return *this;
81 }
82
83 yazpp_1::GDU &yp2::Package::request()
84 {
85     return m_request_gdu;
86 }
87
88
89 yazpp_1::GDU &yp2::Package::response()
90 {
91             return m_response_gdu;
92 }
93
94 yp2::Session yp2::Package::session() const
95 {
96     return m_session;
97 }
98                 
99 /*
100  * Local variables:
101  * c-basic-offset: 4
102  * indent-tabs-mode: nil
103  * c-file-style: "stroustrup"
104  * End:
105  * vim: shiftwidth=4 tabstop=8 expandtab
106  */