// ********************************************************************** // // Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef DISPATCHER_I_H #define DISPATCHER_I_H #include #include #include #include #include class Dispatcher : public Ice::Dispatcher, IceUtil::Thread, IceUtil::Monitor { public: Dispatcher(); virtual void dispatch(const Ice::DispatcherCallPtr&, const Ice::ConnectionPtr&); static void terminate(); static bool isDispatcherThread(); private: void run(); static Dispatcher* _instance; std::deque _calls; bool _terminated; }; #endif