SCIMBridge 0.4.x

agent/scim-bridge-agent-interruption-listener.h

Go to the documentation of this file.
00001 /*
00002  * SCIM Bridge
00003  *
00004  * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>
00005  *
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation and 
00010  * appearing in the file LICENSE.LGPL included in the package of this file.
00011  * You can also redistribute it and/or modify it under the terms of 
00012  * the GNU General Public License as published by the Free Software Foundation and 
00013  * appearing in the file LICENSE.GPL included in the package of this file.
00014  *
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  */
00019 
00026 #ifndef SCIMBRIDGEAGENTINTERRUPTIONLISTENER_H_
00027 #define SCIMBRIDGEAGENTINTERRUPTIONLISTENER_H_
00028 
00029 #include "scim-bridge.h"
00030 #include "scim-bridge-agent-socket-client.h"
00031 
00032 class ScimBridgeAgentProtected;
00033 
00037 class ScimBridgeAgentInterruptionListener: public ScimBridgeAgentSocketClient
00038 {
00039 
00040     public:
00041 
00047         static ScimBridgeAgentInterruptionListener *alloc ();
00048 
00052         virtual ~ScimBridgeAgentInterruptionListener () {}
00053 
00059         virtual bool is_interrupted () const = 0;
00060 
00064         virtual void interrupt () = 0;
00065 
00069         virtual void clear_interruption () = 0;
00070 
00071     protected:
00072 
00076         ScimBridgeAgentInterruptionListener () {}
00077 
00078 };
00079 #endif                                            /*SCIMBRIDGEAGENTINTERRUPTIONLISTENER_H_*/