/*
- * Copyright (c) 1998-2003, Index Data.
+ * Copyright (c) 1998-2005, Index Data.
* See the file LICENSE for details.
*
- * $Id: pdu-assoc.h,v 1.4 2003-10-23 08:48:35 adam Exp $
+ * $Id: pdu-assoc.h,v 1.8 2005-06-25 15:53:19 adam Exp $
*/
#ifndef YAZ_PDU_ASSOC_INCLUDED
#include <yaz++/socket-observer.h>
#include <yaz++/pdu-observer.h>
+namespace yazpp_1 {
/** Simple Protocol Data Unit Assocation.
This object sends - and receives PDU's using the COMSTACK
network utility. To use the association in client role, use
the method connect. The server role is initiated by using the
listen method.
*/
-class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, IYazSocketObserver {
- friend class Yaz_PDU_AssocThread;
+class YAZ_EXPORT PDU_Assoc : public IPDU_Observable, yazpp_1::ISocketObserver {
+ friend class PDU_AssocThread;
private:
enum {
- Connecting,
- Listen,
- Ready,
- Closed,
- Writing,
- Accepting
+ Connecting,
+ Listen,
+ Ready,
+ Closed,
+ Writing,
+ Accepting
} m_state;
class PDU_Queue {
public:
- PDU_Queue(const char *buf, int len);
- PDU_Queue::~PDU_Queue();
- char *m_buf;
- int m_len;
- PDU_Queue *m_next;
+ PDU_Queue(const char *buf, int len);
+ PDU_Queue::~PDU_Queue();
+ char *m_buf;
+ int m_len;
+ PDU_Queue *m_next;
};
- Yaz_PDU_Assoc *m_parent;
- Yaz_PDU_Assoc *m_children;
- Yaz_PDU_Assoc *m_next;
+ PDU_Assoc *m_parent;
+ PDU_Assoc *m_children;
+ PDU_Assoc *m_next;
COMSTACK m_cs;
- IYazSocketObservable *m_socketObservable;
- IYaz_PDU_Observer *m_PDU_Observer;
+ yazpp_1::ISocketObservable *m_socketObservable;
+ IPDU_Observer *m_PDU_Observer;
char *m_input_buf;
int m_input_len;
PDU_Queue *m_queue_out;
PDU_Queue *m_queue_in;
- int Yaz_PDU_Assoc::flush_PDU();
+ int PDU_Assoc::flush_PDU();
int *m_destroyed;
int m_idleTime;
int m_log;
- void init(IYazSocketObservable *socketObservable);
+ void init(yazpp_1::ISocketObservable *socketObservable);
public:
COMSTACK comstack(const char *type_and_host, void **vp);
/// Create object using specified socketObservable
- Yaz_PDU_Assoc(IYazSocketObservable *socketObservable);
+ PDU_Assoc(yazpp_1::ISocketObservable *socketObservable);
/// Create Object using existing comstack
- Yaz_PDU_Assoc(IYazSocketObservable *socketObservable,
- COMSTACK cs);
+ PDU_Assoc(yazpp_1::ISocketObservable *socketObservable,
+ COMSTACK cs);
/// Close socket and destroy object.
- /// virtual ~Yaz_PDU_Assoc();
+ /// virtual ~PDU_Assoc();
/// Clone the object
- IYaz_PDU_Observable *clone();
+ IPDU_Observable *clone();
/// Send PDU
int send_PDU(const char *buf, int len);
/// connect to server (client role)
- int connect(IYaz_PDU_Observer *observer, const char *addr);
+ int connect(IPDU_Observer *observer, const char *addr);
/// listen for clients (server role)
- void listen(IYaz_PDU_Observer *observer, const char *addr);
+ int listen(IPDU_Observer *observer, const char *addr);
/// Socket notification
void socketNotify(int event);
/// Close socket
const char *getpeername();
};
-class YAZ_EXPORT Yaz_PDU_AssocThread : public Yaz_PDU_Assoc {
+class YAZ_EXPORT PDU_AssocThread : public PDU_Assoc {
public:
- Yaz_PDU_AssocThread(IYazSocketObservable *socketObservable);
+ PDU_AssocThread(yazpp_1::ISocketObservable *socketObservable);
private:
void childNotify(COMSTACK cs);
};
+};
+
#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+