Merge to XFA: Fix IWYU in fxcrt headers.
[pdfium.git] / core / include / fxcrt / fx_ext.h
index 03ec488..c9c4447 100644 (file)
@@ -6,26 +6,17 @@
 
 #ifndef _FXCRT_EXTENSION_
 #define _FXCRT_EXTENSION_
-#ifndef _FX_BASIC_H_
+
+#include "fx_arb.h"
 #include "fx_basic.h"
-#endif
-#ifndef _FXCRT_COORDINATES_
 #include "fx_coordinates.h"
-#endif
-#ifndef _FX_XML_H_
-#include "fx_xml.h"
-#endif
-#ifndef _FX_UNICODE_
 #include "fx_ucd.h"
-#endif
-#ifndef _FX_ARABIC_
-#include "fx_arb.h"
-#endif
+#include "fx_xml.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-
 FX_FLOAT               FXSYS_tan(FX_FLOAT a);
 FX_FLOAT               FXSYS_logb(FX_FLOAT b, FX_FLOAT x);
 FX_FLOAT               FXSYS_strtof(FX_LPCSTR pcsStr, FX_INT32 iLength = -1, FX_INT32 *pUsedLen = NULL);
@@ -33,6 +24,7 @@ FX_FLOAT              FXSYS_wcstof(FX_LPCWSTR pwsStr, FX_INT32 iLength = -1, FX_INT32 *pUsed
 FX_LPWSTR              FXSYS_wcsncpy(FX_LPWSTR dstStr, FX_LPCWSTR srcStr, size_t count);
 FX_INT32               FXSYS_wcsnicmp(FX_LPCWSTR s1, FX_LPCWSTR s2, size_t count);
 FX_INT32               FXSYS_strnicmp(FX_LPCSTR s1, FX_LPCSTR s2, size_t count);
+
 inline FX_BOOL FXSYS_islower(FX_INT32 ch)
 {
     return ch >= 'a' && ch <= 'z';
@@ -50,8 +42,6 @@ inline FX_INT32 FXSYS_toupper(FX_INT32 ch)
     return ch < 'a' || ch > 'z' ? ch : (ch - 0x20);
 }
 
-
-
 FX_DWORD       FX_HashCode_String_GetA(FX_LPCSTR pStr, FX_INT32 iLength, FX_BOOL bIgnoreCase = FALSE);
 FX_DWORD       FX_HashCode_String_GetW(FX_LPCWSTR pStr, FX_INT32 iLength, FX_BOOL bIgnoreCase = FALSE);
 
@@ -76,6 +66,24 @@ void         FX_Random_GenerateCrypto(FX_LPDWORD pBuffer, FX_INT32 iCount);
 #ifdef __cplusplus
 }
 #endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct FX_GUID {
+    FX_DWORD   data1;
+    FX_WORD            data2;
+    FX_WORD            data3;
+    FX_BYTE            data4[8];
+} FX_GUID, * FX_LPGUID;
+typedef FX_GUID const * FX_LPCGUID;
+
+void   FX_GUID_CreateV4(FX_LPGUID pGUID);
+
+void   FX_GUID_ToString(FX_LPCGUID pGUID, CFX_ByteString &bsStr, FX_BOOL bSeparator = TRUE);
+#ifdef __cplusplus
+}
+#endif
 template<class baseType>
 class CFX_SSortTemplate
 {