00001
00009 #ifndef _LGI_COMMON_H
00010 #define _LGI_COMMON_H
00011
00012 #if defined LINUX
00013 #include <sys/time.h>
00014 #endif
00015
00016 #include "GArray.h"
00017 #include "LgiClass.h"
00018
00019 #ifdef __cplusplus
00020 extern "C"
00021 {
00022 #endif
00023
00025
00026
00027
00028
00030 LgiFunc int LgiBufConvertCp(void *Out, const char *OutCp, int OutLen, const void *&In, const char *InCp, int &InLen);
00033 LgiFunc void *LgiNewConvertCp
00034 (
00036 const char *OutCp,
00038 const void *In,
00040 const char *InCp,
00042 int InLen = -1
00043 );
00045 LgiFunc char16 *LgiNewUtf8To16(const char *In, int InLen = -1);
00047 LgiFunc char *LgiNewUtf16To8
00048 (
00050 const char16 *In,
00052 int InLen = -1
00053 );
00055 LgiFunc bool LgiIsCpImplemented(const char *Cp);
00057 LgiFunc const char *LgiAnsiToLgiCp(int AnsiCodePage = -1);
00059 LgiFunc int LgiByteLen(const void *Str, const char *Cp);
00061 LgiFunc int LgiCharLen(const void *Str, const char *Cp, int Bytes = -1);
00063 LgiFunc char *LgiSeekUtf8
00064 (
00066 const char *Ptr,
00068 int D,
00070 char *Start = 0
00071 );
00073 LgiFunc bool LgiIsUtf8(const char *s, int len = -1);
00075 LgiFunc char *LgiToNativeCp(const char *In, int InLen = -1);
00077 LgiFunc char *LgiFromNativeCp(const char *In, int InLen = -1);
00079 LgiFunc char *LgiTokStr(const char *&s);
00081 LgiFunc void LgiFormatSize
00082 (
00084 char *Str,
00086 uint64 Size
00087 );
00090 LgiFunc char *LgiDecodeUri
00091 (
00093 const char *uri,
00095 int len = -1
00096 );
00099 LgiFunc char *LgiEncodeUri
00100 (
00102 const char *uri,
00104 int len = -1
00105 );
00106
00107
00108
00110 LgiFunc bool LgiGetExeFile(char *Dst, int DstSize);
00112 LgiFunc bool LgiGetExePath(char *Dst, int DstSize);
00114 LgiFunc bool LgiGetTempPath(char *Dst, int DstSize);
00115
00117 LgiFunc bool LgiGetSystemPath
00118 (
00120 LgiSystemPath Which,
00122 char *Dst,
00124 int DstSize
00125 );
00127 LgiFunc char *LgiFindFile(const char *Name);
00128
00130 typedef bool (*RecursiveFileSearch_Callback)(void *UserData, char *Path, class GDirectory *Dir);
00133 LgiFunc bool LgiRecursiveFileSearch
00134 (
00136 const char *Root,
00138 GArray<const char*> *Ext = 0,
00140 GArray<char*> *Files = 0,
00142 uint64 *Size = 0,
00144 uint64 *Count = 0,
00146 RecursiveFileSearch_Callback Callback = 0,
00148 void *UserData = 0
00149 );
00150
00151
00152
00154 LgiFunc struct GLanguage *LgiGetLanguageId();
00156 LgiFunc const char *LgiLoadString(int Res, const char *Default = 0);
00157
00158
00159
00162 LgiFunc int LgiGetOs(GArray<int> *Ver = 0);
00164 LgiFunc const char *LgiGetOsName();
00165
00166
00167
00175 LgiFunc bool LgiExecute
00176 (
00178 const char *File,
00180 const char *Arguments="",
00182 const char *Dir=0
00183 );
00184
00186 LgiFunc void LgiRandomize(uint Seed);
00187
00189 LgiFunc uint LgiRand(uint Max = 0);
00190
00191 LgiFunc bool _lgi_read_colour_config(const char *Tag, uint32 *c);
00192
00194 LgiFunc bool LgiPlaySound
00195 (
00197 const char *FileName,
00199 int Flags
00200 );
00201
00203 LgiFunc bool LgiGetMimeTypeExtensions
00204 (
00206 const char *Mime,
00208 GArray<char*> &Ext
00209 );
00210
00212 LgiFunc bool LgiGetFileMimeType
00213 (
00215 const char *File,
00217 char *MimeType,
00219 int BufLen
00220 );
00221
00223 LgiFunc bool LgiGetAppForMimeType
00224 (
00226 const char *Mime,
00228 char *AppPath,
00230 int BufSize
00231 );
00232
00234 LgiFunc bool LgiGetAppsForMimeType
00235 (
00241 const char *Mime,
00243 GArray<GAppInfo*> &Apps,
00246 int Limit = -1
00247 );
00248
00250 LgiFunc uint64 LgiCurrentTime();
00251
00252
00253
00255 LgiFunc int LgiIsReleaseBuild();
00256
00257 #if defined WIN32
00258
00260 LgiFunc bool RegisterActiveXControl(const char *Dll);
00261
00262 #elif defined LINUX
00263
00265 enum WindowManager
00266 {
00267 WM_Unknown,
00268 WM_Kde,
00269 WM_Gnome
00270 };
00271
00273 WindowManager LgiGetWindowManager();
00274
00275 #endif
00276
00277 #ifdef __cplusplus
00278 }
00279 #endif
00280
00281 #endif