agent/scim-bridge-agent-protected.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; either
00010  * version 2 of the License, or (at your option) any later version.*
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
00014  * GNU Lesser General Public License for more details.*
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this program; if not, write to the
00017  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
00018  * Boston, MA  02111-1307  USA
00019  */
00020 
00021 #ifndef SCIMBRIDGEAGENTPROTECTED_H_
00022 #define SCIMBRIDGEAGENTPROTECTED_H_
00023 
00030 #define Uses_SCIM_EVENT
00031 #define Uses_SCIM_TRANSACTION
00032 
00033 #include <scim.h>
00034 
00035 #include "scim-bridge-display.h"
00036 #include "scim-bridge-imcontext.h"
00037 
00038 class ScimBridgeAgentClientListener;
00039 class ScimBridgeAgentIMContext;
00040 class ScimBridgeAgentPanelListener;
00041 
00045 class ScimBridgeAgentProtected
00046 {
00047 
00048     public:
00049 
00053         virtual ~ScimBridgeAgentProtected () {}
00054 
00058         virtual void interrupt () = 0;
00059 
00063         virtual void quit () = 0;
00064 
00068         virtual void load_config () = 0;
00069 
00073         virtual void save_config () = 0;
00074 
00080         virtual void add_client_listener (ScimBridgeAgentClientListener *client_listener) = 0;
00081 
00087         virtual void remove_client_listener (ScimBridgeAgentClientListener *client_listener) = 0;
00088 
00096         virtual bool filter_hotkeys (scim_bridge_imcontext_id_t imcontext_id, const scim::KeyEvent &key_event) = 0;
00097 
00105         virtual bool filter_key_event (scim_bridge_imcontext_id_t imcontext_id, const scim::KeyEvent &key_event) = 0;
00106 
00110         virtual void request_factory_menu () = 0;
00111 
00118         virtual scim_bridge_imcontext_id_t alloc_imcontext (ScimBridgeAgentClientListener *client_listener) = 0;
00119 
00126         virtual void free_imcontext (scim_bridge_imcontext_id_t imcontext_id, const ScimBridgeAgentClientListener *client_listener) = 0;
00127 
00133         virtual void reset_imcontext (scim_bridge_imcontext_id_t imcontext_id) = 0;
00134 
00142         virtual void set_cursor_location (scim_bridge_imcontext_id_t imcontext_id, int cursor_x, int cursor_y) = 0;
00143 
00150         virtual void set_preedit_mode (scim_bridge_imcontext_id_t imcontext_id, scim_bridge_preedit_mode_t preedit_mode) = 0;
00151 
00158         virtual void change_focus (scim_bridge_imcontext_id_t imcontext_id, bool focus_in) = 0;
00159 
00160     protected:
00161 
00165         ScimBridgeAgentProtected () {}
00166 
00167 };
00168 #endif                                            /*SCIMBRIDGEAGENTPROTECTED_H_*/

Generated on Tue Sep 26 21:53:41 2006 for ScimBridge by  doxygen 1.4.6