1 /* This file is part of YAZ proxy
2 Copyright (C) 1998-2011 Index Data
4 YAZ proxy is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
9 YAZ proxy is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 #include <yazpp/socket-observer.h>
20 #include <yaz/yconfig.h>
22 class YAZ_EXPORT IMsg_Thread {
24 virtual IMsg_Thread *handle() = 0;
25 virtual void result() = 0;
26 virtual ~IMsg_Thread();
29 class YAZ_EXPORT Msg_Thread_Queue_List {
30 friend class Msg_Thread_Queue;
33 Msg_Thread_Queue_List *m_next;
36 class YAZ_EXPORT Msg_Thread_Queue {
39 void enqueue(IMsg_Thread *in);
40 IMsg_Thread *dequeue();
43 Msg_Thread_Queue_List *m_list;
46 class YAZ_EXPORT Msg_Thread : public yazpp_1::ISocketObserver {
49 Msg_Thread(yazpp_1::ISocketObservable *obs, int no_threads);
50 virtual ~Msg_Thread();
51 void socketNotify(int event);
52 void put(IMsg_Thread *m);
62 * c-file-style: "Stroustrup"
63 * indent-tabs-mode: nil
65 * vim: shiftwidth=4 tabstop=8 expandtab