Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

scim_module.h

Go to the documentation of this file.
00001 /** @file scim_module.h 00002 * @brief definition of Module related classes. 00003 */ 00004 00005 /* 00006 * Smart Common Input Method 00007 * 00008 * Copyright (c) 2004 James Su <suzhe@turbolinux.com.cn> 00009 * Copyright (c) 2003 James Su <suzhe@turbolinux.com.cn> 00010 * Copyright (c) 2002 James Su <suzhe@turbolinux.com.cn> 00011 * 00012 * 00013 * This library is free software; you can redistribute it and/or 00014 * modify it under the terms of the GNU Lesser General Public 00015 * License as published by the Free Software Foundation; either 00016 * version 2 of the License, or (at your option) any later version. 00017 * 00018 * This library is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 * GNU Lesser General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU Lesser General Public 00024 * License along with this program; if not, write to the 00025 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00026 * Boston, MA 02111-1307 USA 00027 * 00028 * $Id: scim_module.h,v 1.16 2004/02/06 07:53:15 suzhe Exp $ 00029 */ 00030 00031 #ifndef __SCIM_MODULE_H 00032 #define __SCIM_MODULE_H 00033 00034 namespace scim { 00035 00036 /** 00037 * @addtogroup Helper 00038 * @{ 00039 */ 00040 00041 class ModuleError: public Exception 00042 { 00043 public: 00044 ModuleError (const String& what_arg) 00045 : Exception (String("scim::Module: ") + what_arg) { } 00046 }; 00047 00048 class Module 00049 { 00050 class ModuleImpl; 00051 ModuleImpl *m_impl; 00052 00053 Module (const Module &); 00054 Module & operator= (const Module &); 00055 00056 public: 00057 Module (); 00058 Module (const String &name, const String &type); 00059 ~Module (); 00060 00061 bool load (const String &name, const String &type); 00062 bool unload (); 00063 00064 bool valid () const; 00065 00066 bool is_resident () const; 00067 bool make_resident () const; 00068 00069 String get_path () const; 00070 00071 void * symbol (const String & sym) const; 00072 }; 00073 00074 int scim_get_module_list (std::vector <String>& mod_list, const String& type = ""); 00075 00076 /** @} */ 00077 00078 } // namespace scim 00079 00080 #endif //__SCIM_MODULE_H 00081 00082 /* 00083 vi:ts=4:ai:nowrap:expandtab 00084 */ 00085

Generated on Thu Dec 30 21:03:19 2004 for scim by doxygen 1.3.8