summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-11 10:13:57 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-11 10:13:57 +0200
commit6c11d2448406fce1a6714767e7e3ceef30d96e9a (patch)
treeda5cefc317074192b8436573983f34feb5eb52a4
parent0cfdf6cbad1a2e4d5f9d36ca44d3b54b3883e415 (diff)
IMP: Adding new APIs which uses XPCOM.
Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
-rw-r--r--sdk/ReadMe.txt10
-rw-r--r--sdk/private/xstore.c8
-rw-r--r--sdk/w32.h4
-rw-r--r--sdk/xmail.h8
-rw-r--r--sdk/xpdf.h14
-rw-r--r--sdk/xstore.h33
6 files changed, 70 insertions, 7 deletions
diff --git a/sdk/ReadMe.txt b/sdk/ReadMe.txt
index afbb5ca..4934a85 100644
--- a/sdk/ReadMe.txt
+++ b/sdk/ReadMe.txt
@@ -1,4 +1,10 @@
-Read Me: XPCOM SDK
+Read Me: XPCOM C SDK.
-XPCOM, W32 and various SDKs.
+Purpose:
+
+The XPCOM, W32 and various SDKs.
Use those to develop ZKA applications.
+
+- xmail.h: Send Mails using an XPCOM API.
+- xpdf.h: Make/consume PDF using an XPCOM API.
+- w32.h: Win32 XPCOM wrapper.
diff --git a/sdk/private/xstore.c b/sdk/private/xstore.c
new file mode 100644
index 0000000..a09ef3d
--- /dev/null
+++ b/sdk/private/xstore.c
@@ -0,0 +1,8 @@
+//
+//
+// Copyright ZKA Technologies 2024
+//
+// File: xstore.c
+// Purpose: ZKA OS STORE SDK.
+//
+//
diff --git a/sdk/w32.h b/sdk/w32.h
index 1cf974f..dc5b248 100644
--- a/sdk/w32.h
+++ b/sdk/w32.h
@@ -11,11 +11,11 @@
#include <sdk/xpcom.h>
-typedef XHANDLE HANDLE; // API handle, simply a pointer to an XHANDLE.
+typedef XHANDLE HWND; // API handle, simply a pointer to an XHANDLE.
/// @brief Shows a message box within an handle.
/// @param hWnd Message box parent handle.
/// @param szContent Message box text.
/// @param szTitle Message box title.
/// @param iFlags Message box flags.
-EXTERN INT32 W32MessageBoxW(HANDLE hWnd, const WCHAR* szContent, const WCHAR* szTitle, UINT32 iFlags);
+EXTERN INT32 W32MessageBoxW(HWND hWnd, const WCHAR* szContent, const WCHAR* szTitle, UINT32 iFlags);
diff --git a/sdk/xmail.h b/sdk/xmail.h
index 760dd7d..0a7705e 100644
--- a/sdk/xmail.h
+++ b/sdk/xmail.h
@@ -11,8 +11,10 @@
#include <sdk/xpcom.h>
-EXTERN XHANDLE XOpenMail(const WCHAR subect, struct XMIME* mime, struct XCONTACT* from);
+typedef XHANDLE MAILHANDLE;
-EXTERN XRESULT XSendMail(XHANDLE mail);
+EXTERN MAILHANDLE XOpenMail(const WCHAR subect, struct XMIME* mime, struct XCONTACT* from);
-EXTERN XRESULT XCloseMail(XHANDLE* mail);
+EXTERN XRESULT XSendMail(MAILHANDLE mail);
+
+EXTERN XRESULT XCloseMail(MAILHANDLE* mail);
diff --git a/sdk/xpdf.h b/sdk/xpdf.h
new file mode 100644
index 0000000..87319da
--- /dev/null
+++ b/sdk/xpdf.h
@@ -0,0 +1,14 @@
+//
+//
+// Copyright ZKA Technologies 2024
+//
+// File: xpdf.h
+// Purpose: ZKA OS PDF SDK.
+//
+//
+
+#pragma once
+
+#include <sdk/xpcom.h>
+
+typedef XHANDLE PDFHANDLE;
diff --git a/sdk/xstore.h b/sdk/xstore.h
new file mode 100644
index 0000000..94cf18c
--- /dev/null
+++ b/sdk/xstore.h
@@ -0,0 +1,33 @@
+//
+//
+// Copyright ZKA Technologies 2024
+//
+// File: xstore.h
+// Purpose: ZKA OS STORE SDK.
+//
+//
+
+#pragma once
+
+#include <sdk/xpcom.h>
+
+typedef XHANDLE STOREHANDLE; // API handle, simply a pointer to an XHANDLE.
+
+enum
+{
+ eFieldKindInt32,
+ eFieldKindInt64,
+ eFieldKindString,
+ eFieldKindBoolean,
+ eFieldKindReal64,
+ eFieldKindReal32,
+ eFieldKindInvalid,
+};
+
+EXTERN STOREHANDLE XCreateStore(VOID);
+EXTERN STOREHANDLE XOpenStore(const WCHAR* szStoreName);
+EXTERN INT32 XCloseStore(STOREHANDLE* pStore);
+EXTERN INT32 XRemoveStore(STOREHANDLE* pStore);
+EXTERN INT32 XLinkStore(STOREHANDLE* pSourceStore, STOREHANDLE* pLinkedStore);
+EXTERN INT32 XRemoveStoreField(STOREHANDLE pStore, const WCHAR* pName);
+EXTERN INT32 XAppendStoreField(STOREHANDLE pStore, const WCHAR* pName, INT32 iFieldKind, PVOID pData, SIZE_T pDataSz);