< prev index next >

src/jdk.jpackage/share/native/libapplauncher/PlatformString.h

Print this page

        

*** 34,58 **** #include "jni.h" #include "Platform.h" - struct WideString { - size_t length; - wchar_t* data; - - WideString() { length = 0; data = NULL; } - }; - - struct MultibyteString { - size_t length; - char* data; - - MultibyteString() { length = 0; data = NULL; } - }; - - template <typename T> class DynamicBuffer { private: T* FData; size_t FSize; --- 34,43 ----
*** 98,182 **** T& operator[](size_t index) { return FData[index]; } }; - - #ifdef MAC - // StringToFileSystemString is a stack object. It's usage is - // simply inline to convert a - // TString to a file system string. Example: - // - // return dlopen(StringToFileSystemString(FileName), RTLD_LAZY); - // - class StringToFileSystemString { - // Prohibit Heap-Based StringToFileSystemString - private: - static void *operator new(size_t size); - static void operator delete(void *ptr); - - private: - TCHAR* FData; - bool FRelease; - - public: - StringToFileSystemString(const TString &value); - ~StringToFileSystemString(); - - operator TCHAR* (); - }; - - - // FileSystemStringToString is a stack object. It's usage is - // simply inline to convert a - // file system string to a TString. Example: - // - // DynamicBuffer<TCHAR> buffer(MAX_PATH); - // if (readlink("/proc/self/exe", buffer.GetData(), MAX_PATH) != -1) - // result = FileSystemStringToString(buffer.GetData()); - // - class FileSystemStringToString { - // Prohibit Heap-Based FileSystemStringToString - private: - static void *operator new(size_t size); - static void operator delete(void *ptr); - - private: - TString FData; - - public: - FileSystemStringToString(const TCHAR* value); - - operator TString (); - }; - #endif //MAC - - #ifdef LINUX - #define StringToFileSystemString PlatformString - #define FileSystemStringToString PlatformString - #endif //LINUX - - class PlatformString { private: char* FData; // Stored as UTF-8 size_t FLength; wchar_t* FWideTStringToFree; void initialize(); - // Caller must free result using delete[]. - static void CopyString(char *Destination, - size_t NumberOfElements, const char *Source); - - // Caller must free result using delete[]. - static void CopyString(wchar_t *Destination, - size_t NumberOfElements, const wchar_t *Source); - - static WideString MultibyteStringToWideString(const char* value); - static MultibyteString WideStringToMultibyteString(const wchar_t* value); - // Prohibit Heap-Based PlatformStrings private: static void *operator new(size_t size); static void operator delete(void *ptr); --- 83,100 ----
*** 185,195 **** PlatformString(const PlatformString &value); PlatformString(const char* value); PlatformString(const wchar_t* value); PlatformString(const std::string &value); PlatformString(const std::wstring &value); - PlatformString(JNIEnv *env, jstring value); PlatformString(size_t Value); static TString Format(const TString value, ...); ~PlatformString(void); --- 103,112 ----
*** 199,209 **** char* c_str(); char* toMultibyte(); wchar_t* toWideString(); std::wstring toUnicodeString(); std::string toStdString(); - jstring toJString(JNIEnv *env); TCHAR* toPlatformString(); TString toString(); operator char* (); operator wchar_t* (); --- 116,125 ----
< prev index next >