Back to index

im-sdk  12.3.91
IMHandler.hh
Go to the documentation of this file.
00001 #ifndef IMHANDLER_HH_
00002 #define IMHANDLER_HH_
00003 #include <string>
00004 #include <list>
00005 #include "basictype.hh"
00006 #include "IMBasicObject.hh"
00007 #include "IMHotkey.hh"
00008 #include "ICHandler.hh"
00009 #include "IMKeyUtils.hh"
00010 
00011 class IMHandler
00012 {
00013   public:
00014     enum CLIENTINFO_ATTR{
00015            CLIENT_NAME,
00016            OS_NAME,
00017            OS_ARCH,
00018            OS_VERSION,
00019            // non-normative items.
00020            X_DISPLAY_NAME,
00021            X_SERVER_VENDOR
00022     };
00023     struct ClientAttr {
00024        enum CLIENTINFO_ATTR attr;
00025        u16string val;
00026        ClientAttr(enum CLIENTINFO_ATTR a, const u16string &v)
00027            : attr(a), val(v)
00028        {}
00029     };
00030     typedef list<ClientAttr> ClientAttrList;
00031 
00032     virtual bool set_client_info(
00033        const ClientAttrList& attrlist
00034     ) = 0;
00035 
00036     virtual bool get_triggerkeys(
00037        IMKeySpecList &onkeys,
00038        IMKeySpecList &offkeys
00039     ) = 0;
00040     virtual const IMLangList* get_langlist(iml_desktop_t *) = 0;
00041     virtual const IMObjectWithDescList* get_imobjectdesclist() = 0;
00042     virtual IMHotkeyProfileStruct* get_hotkey_profiles(int *count_profiles) = 0;
00043     virtual const IMDescriptorList* get_imdesclist(iml_desktop_t *) = 0;
00044     virtual const bool update_imdesclist(
00045         IMLEName *LEname,
00046         IMLocale *Locales,
00047         int nLocales
00048     ) = 0;
00049     virtual const IMObject* get_imobject(
00050        int attribid
00051     ) = 0;
00052     virtual ICHandler* createic(
00053        ICAttribute &icattr
00054     ) = 0;
00055     virtual void destroy() = 0;
00056 };
00057 
00058 #endif /* not IMHANDLER_HH_ */
00059 
00060 /* Local Variables: */
00061 /* c-file-style: "iiim-project" */
00062 /* End: */