Back to index

im-sdk  12.3.91
IMConnection.hh
Go to the documentation of this file.
00001 #ifndef IMCONNECTION_HH_
00002 #define IMCONNECTION_HH_
00003 #include <list>
00004 #include "basictype.hh"
00005 #include "IMHandler.hh"
00006 #include "IMSvr.hh"
00007 
00008 class IMInputContext;
00009 class IMUser;
00010 class IMDesktop;
00011 class IMConnection : public IMHandler
00012 {
00013     IMUser *puser;
00014     IMDesktop *pdesktop;
00015     IMSvr *pimsvr;
00016     string hostname;
00017 
00018     LEMgr* get_lemgr()
00019     { return pimsvr->get_lemgr(); }
00020 
00021   public:
00022     IMUser *get_user()
00023     { return puser; }
00024     IMDesktop *get_desktop();
00025     IMSvr* get_imsvr()
00026     { return pimsvr; }
00027     const string& get_hostname() const
00028     { return hostname; }
00029     IMConnection(
00030        IMSvr *pimsvr,
00031        IMUser *user,
00032        const string &hostname
00033     );
00034   protected:
00035     virtual ~IMConnection();
00036 
00037   public:
00038     /* IMHandler realization */
00039     virtual bool set_client_info(
00040        const IMHandler::ClientAttrList& attrlist
00041     );
00042     virtual bool get_triggerkeys(
00043        IMKeySpecList &onkeys,
00044        IMKeySpecList &offkeys
00045     );
00046     virtual const IMLangList* get_langlist(iml_desktop_t *);
00047     virtual const IMObjectWithDescList* get_imobjectdesclist();
00048     virtual IMHotkeyProfileStruct* get_hotkey_profiles(int *count_profiles);
00049     virtual const IMDescriptorList* get_imdesclist(iml_desktop_t *);
00050     virtual const bool update_imdesclist(
00051         IMLEName *LEname,
00052         IMLocale *Locales,
00053         int nLocales
00054     );
00055     virtual const IMObject* get_imobject(
00056        int attribid
00057     );
00058     virtual ICHandler* createic(
00059        ICAttribute &icattr
00060     );
00061     virtual void destroy()
00062     { delete this; }
00063 };
00064 
00065 #endif /* not IMCONNECTION_HH_ */
00066 
00067 /* Local Variables: */
00068 /* c-file-style: "iiim-project" */
00069 /* End: */