www.pudn.com > kceasy-0.19-rc1-src.rar > gnugettext.hpp


// Borland C++ Builder 
// Copyright (c) 1995, 2002 by Borland Software Corporation 
// All rights reserved 
 
// (DO NOT EDIT: machine generated header) 'gnugettext.pas' rev: 6.00 
 
#ifndef gnugettextHPP 
#define gnugettextHPP 
 
#pragma delphiheader begin 
#pragma option push -w- 
#pragma option push -Vx 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
 
//-- user supplied ----------------------------------------------------------- 
 
namespace Gnugettext 
{ 
//-- type declarations ------------------------------------------------------- 
typedef void __fastcall (__closure *TTranslator)(System::TObject* obj); 
 
class DELPHICLASS EGnuGettext; 
class PASCALIMPLEMENTATION EGnuGettext : public Sysutils::Exception  
{ 
	typedef Sysutils::Exception inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EGnuGettext(const AnsiString Msg) : Sysutils::Exception(Msg) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EGnuGettext(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EGnuGettext(int Ident)/* overload */ : Sysutils::Exception(Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EGnuGettext(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EGnuGettext(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EGnuGettext(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EGnuGettext(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EGnuGettext(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EGnuGettext(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EGGProgrammingError; 
class PASCALIMPLEMENTATION EGGProgrammingError : public EGnuGettext  
{ 
	typedef EGnuGettext inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EGGProgrammingError(const AnsiString Msg) : EGnuGettext(Msg) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EGGProgrammingError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : EGnuGettext(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EGGProgrammingError(int Ident)/* overload */ : EGnuGettext(Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EGGProgrammingError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : EGnuGettext(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EGGProgrammingError(const AnsiString Msg, int AHelpContext) : EGnuGettext(Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EGGProgrammingError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : EGnuGettext(Msg, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EGGProgrammingError(int Ident, int AHelpContext)/* overload */ : EGnuGettext(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EGGProgrammingError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : EGnuGettext(ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EGGProgrammingError(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EGGComponentError; 
class PASCALIMPLEMENTATION EGGComponentError : public EGnuGettext  
{ 
	typedef EGnuGettext inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EGGComponentError(const AnsiString Msg) : EGnuGettext(Msg) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EGGComponentError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : EGnuGettext(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EGGComponentError(int Ident)/* overload */ : EGnuGettext(Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EGGComponentError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : EGnuGettext(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EGGComponentError(const AnsiString Msg, int AHelpContext) : EGnuGettext(Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EGGComponentError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : EGnuGettext(Msg, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EGGComponentError(int Ident, int AHelpContext)/* overload */ : EGnuGettext(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EGGComponentError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : EGnuGettext(ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EGGComponentError(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EGGIOError; 
class PASCALIMPLEMENTATION EGGIOError : public EGnuGettext  
{ 
	typedef EGnuGettext inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EGGIOError(const AnsiString Msg) : EGnuGettext(Msg) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EGGIOError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : EGnuGettext(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EGGIOError(int Ident)/* overload */ : EGnuGettext(Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EGGIOError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : EGnuGettext(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EGGIOError(const AnsiString Msg, int AHelpContext) : EGnuGettext(Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EGGIOError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : EGnuGettext(Msg, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EGGIOError(int Ident, int AHelpContext)/* overload */ : EGnuGettext(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EGGIOError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : EGnuGettext(ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EGGIOError(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EGGAnsi2WideConvError; 
class PASCALIMPLEMENTATION EGGAnsi2WideConvError : public EGnuGettext  
{ 
	typedef EGnuGettext inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EGGAnsi2WideConvError(const AnsiString Msg) : EGnuGettext(Msg) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EGGAnsi2WideConvError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : EGnuGettext(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EGGAnsi2WideConvError(int Ident)/* overload */ : EGnuGettext(Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EGGAnsi2WideConvError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : EGnuGettext(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EGGAnsi2WideConvError(const AnsiString Msg, int AHelpContext) : EGnuGettext(Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EGGAnsi2WideConvError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : EGnuGettext(Msg, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EGGAnsi2WideConvError(int Ident, int AHelpContext)/* overload */ : EGnuGettext(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EGGAnsi2WideConvError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : EGnuGettext(ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EGGAnsi2WideConvError(void) { } 
	#pragma option pop 
	 
}; 
 
 
typedef void __fastcall (__closure *TOnDebugLine)(System::TObject* Sender, const AnsiString Line, bool &Discard); 
 
typedef int __fastcall (*TGetPluralForm)(int Number); 
 
typedef void __fastcall (__closure *TDebugLogger)(AnsiString line); 
 
class DELPHICLASS TMoFile; 
class PASCALIMPLEMENTATION TMoFile : public System::TObject  
{ 
	typedef System::TObject inherited; 
	 
private: 
	bool doswap; 
	 
public: 
	int Users; 
	__fastcall TMoFile(AnsiString filename, __int64 Offset, __int64 Size); 
	__fastcall virtual ~TMoFile(void); 
	AnsiString __fastcall gettext(const AnsiString msgid, bool &found); 
	__property bool isSwappedArchitecture = {read=doswap, nodefault}; 
	 
private: 
	unsigned N; 
	unsigned O; 
	unsigned T; 
	int startindex; 
	int startstep; 
	unsigned mo; 
	unsigned momapping; 
	char *momemoryHandle; 
	char *momemory; 
	unsigned __fastcall autoswap32(unsigned i); 
	unsigned __fastcall CardinalInMem(char * baseptr, unsigned Offset); 
}; 
 
 
class DELPHICLASS TDomain; 
class PASCALIMPLEMENTATION TDomain : public System::TObject  
{ 
	typedef System::TObject inherited; 
	 
private: 
	bool Enabled; 
	AnsiString vDirectory; 
	void __fastcall setDirectory(const AnsiString dir); 
	 
public: 
	TDebugLogger DebugLogger; 
	AnsiString Domain; 
	__property AnsiString Directory = {read=vDirectory, write=setDirectory}; 
	__fastcall TDomain(void); 
	__fastcall virtual ~TDomain(void); 
	void __fastcall SetLanguageCode(const AnsiString langcode); 
	void __fastcall SetFilename(const AnsiString filename); 
	void __fastcall GetListOfLanguages(Classes::TStrings* list); 
	WideString __fastcall GetTranslationProperty(AnsiString Propertyname); 
	AnsiString __fastcall gettext(const AnsiString msgid); 
	 
private: 
	TMoFile* mofile; 
	AnsiString SpecificFilename; 
	AnsiString curlang; 
	bool OpenHasFailedBefore; 
	void __fastcall OpenMoFile(void); 
	void __fastcall CloseMoFile(void); 
}; 
 
 
class DELPHICLASS TExecutable; 
class PASCALIMPLEMENTATION TExecutable : public System::TObject  
{ 
	typedef System::TObject inherited; 
	 
public: 
	virtual void __fastcall Execute(void) = 0 ; 
public: 
	#pragma option push -w-inl 
	/* TObject.Create */ inline __fastcall TExecutable(void) : System::TObject() { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~TExecutable(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS TGnuGettextInstance; 
class PASCALIMPLEMENTATION TGnuGettextInstance : public System::TObject  
{ 
	typedef System::TObject inherited; 
	 
private: 
	TOnDebugLine fOnDebugLine; 
	unsigned CreatorThread; 
	 
public: 
	bool Enabled; 
	int DesignTimeCodePage; 
	__fastcall TGnuGettextInstance(void); 
	__fastcall virtual ~TGnuGettextInstance(void); 
	void __fastcall UseLanguage(AnsiString LanguageCode); 
	void __fastcall GetListOfLanguages(const AnsiString domain, Classes::TStrings* list); 
	virtual WideString __fastcall gettext(const AnsiString szMsgId)/* overload */; 
	virtual WideString __fastcall gettext(const WideString szMsgId)/* overload */; 
	virtual WideString __fastcall ngettext(const AnsiString singular, const AnsiString plural, int Number)/* overload */; 
	virtual WideString __fastcall ngettext(const WideString singular, const WideString plural, int Number)/* overload */; 
	AnsiString __fastcall GetCurrentLanguage(); 
	WideString __fastcall GetTranslationProperty(const AnsiString Propertyname); 
	WideString __fastcall GetTranslatorNameAndEmail(); 
	void __fastcall TP_Ignore(System::TObject* AnObject, const AnsiString name); 
	void __fastcall TP_IgnoreClass(TMetaClass* IgnClass); 
	void __fastcall TP_IgnoreClassProperty(TMetaClass* IgnClass, AnsiString propertyname); 
	void __fastcall TP_GlobalIgnoreClass(TMetaClass* IgnClass); 
	void __fastcall TP_GlobalIgnoreClassProperty(TMetaClass* IgnClass, AnsiString propertyname); 
	void __fastcall TP_GlobalHandleClass(TMetaClass* HClass, TTranslator Handler); 
	void __fastcall TranslateProperties(System::TObject* AnObject, AnsiString textdomain = ""); 
	void __fastcall TranslateComponent(Classes::TComponent* AnObject, const AnsiString TextDomain = ""); 
	void __fastcall RetranslateComponent(Classes::TComponent* AnObject, const AnsiString TextDomain = ""); 
	virtual WideString __fastcall dgettext(const AnsiString szDomain, const AnsiString szMsgId)/* overload */; 
	virtual WideString __fastcall dgettext(const AnsiString szDomain, const WideString szMsgId)/* overload */; 
	virtual WideString __fastcall dngettext(const AnsiString szDomain, const AnsiString singular, const AnsiString plural, int Number)/* overload */; 
	virtual WideString __fastcall dngettext(const AnsiString szDomain, const WideString singular, const WideString plural, int Number)/* overload */; 
	void __fastcall textdomain(const AnsiString szDomain); 
	AnsiString __fastcall getcurrenttextdomain(); 
	void __fastcall bindtextdomain(const AnsiString szDomain, const AnsiString szDirectory); 
	void __fastcall bindtextdomainToFile(const AnsiString szDomain, const AnsiString filename); 
	WideString __fastcall LoadResString(System::PResStringRec ResStringRec); 
	void __fastcall DebugLogToFile(const AnsiString filename, bool append = false); 
	void __fastcall DebugLogPause(bool PauseEnabled); 
	__property TOnDebugLine OnDebugLine = {read=fOnDebugLine, write=fOnDebugLine}; 
	WideString __fastcall ansi2wideDTCP(const AnsiString s); 
	 
protected: 
	void __fastcall TranslateStrings(Classes::TStrings* sl, const AnsiString TextDomain); 
	virtual void __fastcall WhenNewLanguage(const AnsiString LanguageID); 
	virtual void __fastcall WhenNewDomain(const AnsiString TextDomain); 
	virtual void __fastcall WhenNewDomainDirectory(const AnsiString TextDomain, const AnsiString Directory); 
	 
private: 
	AnsiString curlang; 
	TGetPluralForm curGetPluralForm; 
	AnsiString curmsgdomain; 
	Sysutils::TMultiReadExclusiveWriteSynchronizer* savefileCS; 
	TextFile savefile; 
	Classes::TStringList* savememory; 
	AnsiString DefaultDomainDirectory; 
	Classes::TStringList* domainlist; 
	Classes::TStringList* TP_IgnoreList; 
	Classes::TList* TP_ClassHandling; 
	Classes::TList* TP_GlobalClassHandling; 
	TExecutable* TP_Retranslator; 
	Sysutils::TMultiReadExclusiveWriteSynchronizer* DebugLogCS; 
	Classes::TStream* DebugLog; 
	bool DebugLogOutputPaused; 
	TExecutable* __fastcall TP_CreateRetranslator(void); 
	void __fastcall FreeTP_ClassHandlingItems(void); 
	void __fastcall DebugWriteln(AnsiString line); 
	void __fastcall TranslateProperty(System::TObject* AnObject, Typinfo::PPropInfo PropInfo, Classes::TStrings* TodoList, const AnsiString TextDomain); 
	TDomain* __fastcall Getdomain(const AnsiString domain, const AnsiString DefaultDomainDirectory, const AnsiString CurLang); 
}; 
 
 
//-- var, const, procedure --------------------------------------------------- 
#define DefaultTextDomain "default" 
extern PACKAGE AnsiString ExecutableFilename; 
static const bool PreferExternal = false; 
#define VCSVersion "$LastChangedRevision: 118 $" 
static const bool AutoCreateHooks = false; 
extern PACKAGE TGnuGettextInstance* DefaultInstance; 
extern PACKAGE WideString __fastcall gettext(const WideString szMsgId); 
extern PACKAGE WideString __fastcall dgettext(const AnsiString szDomain, const WideString szMsgId); 
extern PACKAGE WideString __fastcall dngettext(const AnsiString szDomain, const WideString singular, const WideString plural, int Number); 
extern PACKAGE WideString __fastcall ngettext(const WideString singular, const WideString plural, int Number); 
extern PACKAGE void __fastcall textdomain(const AnsiString szDomain); 
extern PACKAGE AnsiString __fastcall getcurrenttextdomain(); 
extern PACKAGE void __fastcall bindtextdomain(const AnsiString szDomain, const AnsiString szDirectory); 
extern PACKAGE void __fastcall TP_Ignore(System::TObject* AnObject, const AnsiString name); 
extern PACKAGE void __fastcall TP_GlobalIgnoreClass(TMetaClass* IgnClass); 
extern PACKAGE void __fastcall TP_IgnoreClass(TMetaClass* IgnClass); 
extern PACKAGE void __fastcall TP_IgnoreClassProperty(TMetaClass* IgnClass, const AnsiString propertyname); 
extern PACKAGE void __fastcall TP_GlobalIgnoreClassProperty(TMetaClass* IgnClass, const AnsiString propertyname); 
extern PACKAGE void __fastcall TP_GlobalHandleClass(TMetaClass* HClass, TTranslator Handler); 
extern PACKAGE void __fastcall TranslateComponent(Classes::TComponent* AnObject, const AnsiString TextDomain = ""); 
extern PACKAGE void __fastcall RetranslateComponent(Classes::TComponent* AnObject, const AnsiString TextDomain = ""); 
extern PACKAGE AnsiString __fastcall LoadResStringA(System::PResStringRec ResStringRec); 
extern PACKAGE WideString __fastcall GetTranslatorNameAndEmail(); 
extern PACKAGE void __fastcall UseLanguage(AnsiString LanguageCode); 
extern PACKAGE WideString __fastcall LoadResString(System::PResStringRec ResStringRec); 
extern PACKAGE WideString __fastcall LoadResStringW(System::PResStringRec ResStringRec); 
extern PACKAGE AnsiString __fastcall GetCurrentLanguage(); 
extern PACKAGE void __fastcall AddDomainForResourceString(const AnsiString domain); 
extern PACKAGE void __fastcall RemoveDomainForResourceString(const AnsiString domain); 
extern PACKAGE void __fastcall HookIntoResourceStrings(bool enabled = true, bool SupportPackages = false); 
 
}	/* namespace Gnugettext */ 
using namespace Gnugettext; 
#pragma option pop	// -w- 
#pragma option pop	// -Vx 
 
#pragma delphiheader end. 
//-- end unit ---------------------------------------------------------------- 
#endif	// gnugettext