Back to index

im-sdk  12.3.91
IMInputContext.hh
Go to the documentation of this file.
00001 #ifndef IMINPUTCONTEXT_HH_
00002 #define IMINPUTCONTEXT_HH_
00003 #include <list>
00004 #include "basictype.hh"
00005 #include "ICHandler.hh"
00006 
00007 class IMConnection;
00008 class LEMgr;
00009 class LEContext;
00010 
00011 class IMInputContext : public ICHandler
00012 {
00013     IMConnection *pimc;
00014 
00015     typedef list<LEContext*> LEContextList;
00016     LEContextList leclist;
00017     LEContext *pcur_lec;
00018 
00019     ICAttribute attr;
00020 
00021     LEMgr* get_lemgr();
00022     LEContext* create_lecontext();
00023     LEContext* get_current_lecontext();
00024     bool switch_lecontext(const ICAttribute &attr);
00025 
00026   public:
00027     IMConnection *get_imconnection()
00028     { return pimc; }
00029     void get_lecontext_args(
00030        vector<IMArg> &args
00031     );
00032     IMInputContext(
00033        IMConnection *pimc,
00034        const ICAttribute &attr
00035     );
00036     virtual void destroy();
00037   protected:
00038     virtual ~IMInputContext();
00039 
00040   public:
00041     // ICHandler realization.
00042     virtual bool send_event(
00043        IMLExec* pimlex,
00044        IMInputEvent* pimevent
00045     );
00046     virtual bool send_event_getvalues(
00047        IMLExec* pimlex,
00048        IMInputEvent* pimevent
00049     );
00050     virtual bool send_event_getvalues_finished(
00051        IMLExec* pimlex
00052     );
00053     virtual const ICAttribute& get_icattr();
00054     virtual bool set_icattr(
00055        const ICAttribute &attr
00056     );
00057     virtual bool toggle_conversion(
00058        IMLExec *pimlex,
00059        bool flag
00060     );
00061     virtual bool invoke_desktop_listener(
00062        IMLExec *pimlex,
00063         int listener_id,
00064         int file_size,
00065         void *object
00066     );
00067     virtual iml_desktop_t *get_current_desktop();
00068     virtual bool reset(
00069        IMLExec *pimlex
00070     );
00071     virtual bool destroy(
00072        IMLExec *pimlex
00073     );
00074 
00075     /* obsolete API!!!! */
00076     virtual bool toggle_focus(
00077        IMLExec *pimlex,
00078        bool flag
00079     );
00080 };
00081 
00082 #endif /* not IMINPUTCONTEXT_HH_ */
00083 
00084 /* Local Variables: */
00085 /* c-file-style: "iiim-project" */
00086 /* End: */