-
- class Package {
- public:
-
- Package(unsigned long int id = 0, bool close = 0)
- : m_session_id(id), m_session_close(close),
- m_filter(0), m_router(0), m_data(0) {}
-
- /// send Package to it's next Filter defined in Router
- Package & move() {
- m_filter = m_router->move(m_filter, this);
- if (m_filter)
- return m_filter->process(*this);
- else
- return *this;
- }
-
-
- /// get function - right val in assignment
- unsigned int session_id() const {
- return m_session_id;
- }
-
- /// get function - right val in assignment
- unsigned int session_close() const {
- return m_session_close;
- }
-
-
- /// get function - right val in assignment
- unsigned int data() const {
- return m_data;
- }
-
- /// set function - left val in assignment
- unsigned int & data() {
- return m_data;
- }
-
- /// set function - can be chained
- Package & data(const unsigned int & data){
- m_data = data;
- return *this;
- }
-
-
- //Router router() const {
- // return m_router;
- //}
+
+ class Origin {
+ enum origin_t {
+ API,
+ UNIX,
+ TCPIP
+ } type;
+ std::string address; // UNIX+TCPIP
+ int port; // TCPIP only
+ public:
+ Origin() : type(API) {};
+ };
+
+ class Package {
+ public:
+ Package()
+ : m_filter(0), m_router(0), m_data(0) {}
+
+ Package(yp2::Session &session, yp2::Origin &origin)
+ : m_session(session), m_origin(origin),
+ m_filter(0), m_router(0), m_data(0) {}