* Copyright (c) 1998-2003, Index Data.
* See the file LICENSE for details.
*
- * $Id: pdu-assoc.h,v 1.2 2003-10-01 13:13:51 adam Exp $
+ * $Id: pdu-assoc.h,v 1.6 2005-06-02 06:40:21 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 {
+class YAZ_EXPORT Yaz_PDU_Assoc : public IYaz_PDU_Observable, yazpp_1::IYazSocketObserver {
friend class Yaz_PDU_AssocThread;
private:
enum {
Yaz_PDU_Assoc *m_children;
Yaz_PDU_Assoc *m_next;
COMSTACK m_cs;
- IYazSocketObservable *m_socketObservable;
+ yazpp_1::IYazSocketObservable *m_socketObservable;
IYaz_PDU_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 *m_destroyed;
int m_idleTime;
int m_log;
- void init(IYazSocketObservable *socketObservable);
+ void init(yazpp_1::IYazSocketObservable *socketObservable);
public:
COMSTACK comstack(const char *type_and_host, void **vp);
/// Create object using specified socketObservable
- Yaz_PDU_Assoc(IYazSocketObservable *socketObservable);
+ Yaz_PDU_Assoc(yazpp_1::IYazSocketObservable *socketObservable);
/// Create Object using existing comstack
- Yaz_PDU_Assoc(IYazSocketObservable *socketObservable,
+ Yaz_PDU_Assoc(yazpp_1::IYazSocketObservable *socketObservable,
COMSTACK cs);
/// Close socket and destroy object.
/// virtual ~Yaz_PDU_Assoc();
/// Send PDU
int send_PDU(const char *buf, int len);
/// connect to server (client role)
- void connect(IYaz_PDU_Observer *observer, const char *addr);
+ int connect(IYaz_PDU_Observer *observer, const char *addr);
/// listen for clients (server role)
- void listen(IYaz_PDU_Observer *observer, const char *addr);
+ int listen(IYaz_PDU_Observer *observer, const char *addr);
/// Socket notification
void socketNotify(int event);
/// Close socket
class YAZ_EXPORT Yaz_PDU_AssocThread : public Yaz_PDU_Assoc {
public:
- Yaz_PDU_AssocThread(IYazSocketObservable *socketObservable);
+ Yaz_PDU_AssocThread(yazpp_1::IYazSocketObservable *socketObservable);
private:
void childNotify(COMSTACK cs);
};
+};
+
#endif