%setup -q
%build
+export CFLAGS+=" -fvisibility=hidden"
+export CXXFLAGS+=" -fvisibility=hidden -fvisibility-inlines-hidden"
+export CPPFLAGS+=" -DEXPORTED=__attribute__\(\(visibility\(\\\"default\\\"\)\)\)"
+
./bootstrap
%configure --disable-static
make %{?jobs:-j%jobs}
/**
* A forget all history memory
*/
-class CICHistory {
+class EXPORTED CICHistory {
public:
/** don't care word id, or seperator word id */
static const uint32_t DCWID;
virtual void initStopWords() = 0;
};
-class CBigramHistory : public CICHistory {
+class EXPORTED CBigramHistory : public CICHistory {
public:
static void initClass();
/**
* Data of the IM implementation shared by all Desktop/Session(IC)
*/
-class CIMIData {
+class EXPORTED CIMIData {
public:
CIMIData()
: m_pPinyinTrie(NULL), m_pLM(NULL) { }
} value;
};
-class IConfigurable
+class EXPORTED IConfigurable
{
public:
IConfigurable();
#define SUNPINYIN_USERDATA_DIR_PREFIX ".sunpinyin"
#endif
-struct CSimplifiedChinesePolicy : public IConfigurable {
+struct EXPORTED CSimplifiedChinesePolicy : public IConfigurable {
CSimplifiedChinesePolicy ();
bool loadResources();
typedef SingletonHolder<CSimplifiedChinesePolicy> ASimplifiedChinesePolicy;
-struct CQuanpinSchemePolicy : IConfigurable {
+struct EXPORTED CQuanpinSchemePolicy : IConfigurable {
public:
IPySegmentor* createPySegmentor(){
typedef SingletonHolder<CQuanpinSchemePolicy> AQuanpinSchemePolicy;
-struct CShuangpinSchemePolicy : public IConfigurable {
+struct EXPORTED CShuangpinSchemePolicy : public IConfigurable {
public:
CShuangpinSchemePolicy();
#include "utils.h"
#include <set>
-class CHotkeyProfile : private CNonCopyable
+class EXPORTED CHotkeyProfile : private CNonCopyable
{
public:
CHotkeyProfile();
#include "imi_view.h"
-class CIMIClassicView : public CIMIView
+class EXPORTED CIMIClassicView : public CIMIView
{
public:
CIMIClassicView();
/*@}*/
-class CIMIWinHandler
+class EXPORTED CIMIWinHandler
{
public:
enum {
#include "lexicon/pytrie.h"
#include "imi_defines.h"
-class CUserDict
+class EXPORTED CUserDict
{
public:
CUserDict () : m_fname(NULL), m_db(NULL) {}
#include <algorithm>
#include <climits>
-class CGetCorrectionPairOp : private CNonCopyable
+class EXPORTED CGetCorrectionPairOp : private CNonCopyable
{
public:
typedef std::pair<std::string, std::string> CCorrectionPair;
bool m_bEnabled;
};
-class CGetFuzzySegmentsOp : private CNonCopyable
+class EXPORTED CGetFuzzySegmentsOp : private CNonCopyable
{
public:
typedef std::map<unsigned,
CFuzzySyllableMap m_fuzzyProMap;
};
-class CQuanpinSegmentor : public IPySegmentor
+class EXPORTED CQuanpinSegmentor : public IPySegmentor
{
public:
CQuanpinSegmentor ();
#include "pinyin_data.h"
#include <vector>
-class CShuangpinSegmentor : public IPySegmentor
+class EXPORTED CShuangpinSegmentor : public IPySegmentor
{
public:
CShuangpinSegmentor (EShuangpinType shpType);
size_t WCSTOMBS(char* s, const TWCHAR* pwcs, size_t n);
-size_t WCSLEN(const TWCHAR* ws);
+EXPORTED size_t WCSLEN(const TWCHAR* ws);
namespace std {
#ifdef HOST_OS_GNUC_2
class SunPyInstance;
-class CScimWinHandler : public CIMIWinHandler
+class EXPORTED CScimWinHandler : public CIMIWinHandler
{
public:
CScimWinHandler(SunPyInstance* ime, SunLookupTable* lookup_table);
static char g_common_symbol[]={'#','$','%','^','&','*','@'};
extern "C" {
- void scim_module_init (void)
+ EXPORTED void scim_module_init (void)
{
SCIM_DEBUG_IMENGINE (3) << "scim_module_init\n";
bindtextdomain (GETTEXT_PACKAGE, SCIM_SUNPINYIN_LOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
}
- void scim_module_exit (void)
+ EXPORTED void scim_module_exit (void)
{
_scim_pinyin_factory.reset ();
_scim_config.reset ();
}
- uint32 scim_imengine_module_init (const ConfigPointer &config)
+ EXPORTED uint32 scim_imengine_module_init (const ConfigPointer &config)
{
SCIM_DEBUG_IMENGINE (3) << "module_init\n";
_status_property.set_tip (_("The status of the current input method. Click to change it."));
return 1;
}
- IMEngineFactoryPointer scim_imengine_module_create_factory (uint32 engine)
+ EXPORTED IMEngineFactoryPointer scim_imengine_module_create_factory (uint32 engine)
{
SCIM_DEBUG_IMENGINE (3) << "entering scim_imengine_module_create_factory()\n";
if (engine != 0) return IMEngineFactoryPointer (0);
// Module Interface.
extern "C" {
- void scim_module_init (void)
+ EXPORTED void scim_module_init (void)
{
bindtextdomain (GETTEXT_PACKAGE, SCIM_SUNPINYIN_LOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
}
- void scim_module_exit (void)
+ EXPORTED void scim_module_exit (void)
{
}
- GtkWidget * scim_setup_module_create_ui (void)
+ EXPORTED GtkWidget * scim_setup_module_create_ui (void)
{
static GtkWidget *setup_ui = NULL;
if (setup_ui == NULL)
return setup_ui;
}
- String scim_setup_module_get_category (void)
+ EXPORTED String scim_setup_module_get_category (void)
{
return String ("IMEngine");
}
- String scim_setup_module_get_name (void)
+ EXPORTED String scim_setup_module_get_name (void)
{
return String (_("SunPinyin"));
}
- String scim_setup_module_get_description (void)
+ EXPORTED String scim_setup_module_get_description (void)
{
return String (_("A Statistical Language Model Based Intelligent IMEngine Module for Simplified Chinese."));
}
- void scim_setup_module_load_config (const ConfigPointer &config)
+ EXPORTED void scim_setup_module_load_config (const ConfigPointer &config)
{
load_config (config);
}
- void scim_setup_module_save_config (const ConfigPointer &config)
+ EXPORTED void scim_setup_module_save_config (const ConfigPointer &config)
{
save_config (config);
}
- bool scim_setup_module_query_changed ()
+ EXPORTED bool scim_setup_module_query_changed ()
{
return query_changed ();
}