00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef INCL_UTILS_DLL
00037 #define INCL_UTILS_DLL
00038
00043 #include "base/fscapi.h"
00044 #include "base/log.h"
00045 #include "spds/SyncReport.h"
00046 #include "WindowsSyncSource.h"
00047 #include "outlook/ClientRecurrence.h"
00048
00049 #include <string>
00050
00052 #define SYNCSOURCE_CALENDAR 1
00053 #define SYNCSOURCE_CONTACTS 2
00054 #define SYNCSOURCE_NOTES 3
00055 #define SYNCSOURCE_TASKS 4
00056
00057
00058
00059
00060
00061 int TimedMessageBox(HWND hwndOwner, LPCTSTR pszMessage, LPCTSTR pszTitle, UINT flags, DWORD dwTimeout);
00062
00063 int safeMessageBox (const char* message, const char* title = NULL, unsigned int flags = 0);
00064 int wsafeMessageBox(const WCHAR* wmessage, const WCHAR* wtitle = NULL, unsigned int flags = 0);
00065
00066 _declspec(dllexport) void printLog(const char* msg, const char* level = LOG_INFO);
00067 _declspec(dllexport) void printLog(const WCHAR* msg, const char* level = LOG_INFO);
00068
00069 bool isSIF (const std::wstring& dataType);
00070 bool isSIF (const std::string& dataType);
00071 bool isAcceptedDataType(const std::wstring& dataType);
00072 bool isAcceptedDataType(const std::string& dataType);
00073 char* syncModeName (SyncMode code);
00074 bool isFullSyncMode (SyncMode mode);
00075
00076 void toWindows (char* str);
00077 WCHAR* readAppDataPath ();
00078 WCHAR* readDataPath (const WCHAR* itemType);
00079 int makeDataDirs ();
00080 int getWindowsUser (std::wstring& userName);
00081 int getWindowsUserEx(std::wstring& userName);
00082
00083 std::wstring readFromFile (const std::wstring& filePath);
00084 int writeToFile (const std::wstring& content, const std::wstring& filePath, const WCHAR* mode = L"w");
00085 int writeToFile (const std::string& content, const std::string& filePath, const char* mode = "w");
00086 std::string getSyncMutexName ();
00087 char* readSystemErrorMsg (DWORD errorCode = 0);
00088 std::wstring getSafeItemName (ClientItem* cItem);
00089 void printReport (SyncReport* sr, WindowsSyncSource** sources);
00090 char* friendlyName (const char* sourceName);
00091
00092 int getBuildNumberFromVersion(const char* swv);
00093 long variantTimeToTimeStamp (const double vTime);
00094
00095 int syncSourceNameToIndex(const char*);
00096
00097
00098
00105 inline static bool isErrorStatus(int status) {
00106 return (status) && ((status < 200) || (status > 299));
00107 }
00108
00111 #endif