summaryrefslogtreecommitdiff
path: root/plugins/Pascal_Headers/m_json.inc
diff options
context:
space:
mode:
authorAlexey Kulakov <panda75@bk.ru>2012-06-29 06:56:07 +0000
committerAlexey Kulakov <panda75@bk.ru>2012-06-29 06:56:07 +0000
commita2795725f5afc756a405a85c192bdd53b967999d (patch)
tree08548adc194d0c2a960120a342bac02208c3e23f /plugins/Pascal_Headers/m_json.inc
parentaf7e438cfe8ce85e1da234318ed1584e89d952cc (diff)
Added my Miranda API pascal version
Changed ShlExt to my API compilation (32 bit FPC now only) git-svn-id: http://svn.miranda-ng.org/main/trunk@679 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Pascal_Headers/m_json.inc')
-rw-r--r--plugins/Pascal_Headers/m_json.inc90
1 files changed, 90 insertions, 0 deletions
diff --git a/plugins/Pascal_Headers/m_json.inc b/plugins/Pascal_Headers/m_json.inc
new file mode 100644
index 0000000000..b18b396814
--- /dev/null
+++ b/plugins/Pascal_Headers/m_json.inc
@@ -0,0 +1,90 @@
+{$IFNDEF MIM_LIBJSON}
+{$DEFINE MIM_LIBJSON}
+
+type
+ PJSONNODE = ^JSONNODE;
+ JSONNODE = pointer;
+ TJSONNODE_ITERATOR = pointer; //^^JSONNODE; // typedef JSONNODE** JSONNODE_ITERATOR;
+
+// This function get the service interface for direct calling
+// wParam=(WPARAM)(LPJSONSERVICEINTERFACE)
+// lParam=0
+// Return value ALWAYS 0
+
+type
+ PJSONSERVICEINTERFACE = ^TJSONSERVICEINTERFACE;
+ TJSONSERVICEINTERFACE = record
+ free : procedure (str:pointer);cdecl;
+ delete_ : procedure (node:PJSONNODE);cdecl;
+ free_all : procedure ;cdecl;
+ delete_all : procedure ;cdecl;
+ parse : function (json:PAnsiChar):PJSONNODE;cdecl;
+ strip_white_space : function (json:PAnsiChar):PAnsiChar;cdecl;
+ validate : function (json:PAnsiChar):PJSONNODE;cdecl;
+
+ new_a : function (name:PAnsiChar; value:PAnsiChar):PJSONNODE;cdecl;
+ new_i : function (name:PAnsiChar; value:long):PJSONNODE;cdecl;
+ new_f : function (name:PAnsiChar; value:double):PJSONNODE;cdecl;
+ new_b : function (name:PAnsiChar; value:int):PJSONNODE;cdecl;
+ new_ : function (_type:char):PJSONNODE;cdecl;
+
+ copy : function (orig:PJSONNODE):PJSONNODE;cdecl;
+ duplicate : function (orig:PJSONNODE):PJSONNODE;cdecl;
+
+ set_a : procedure (node:PJSONNODE; value:PAnsiChar);cdecl;
+ set_i : procedure (node:PJSONNODE; value:long);cdecl;
+ set_f : procedure (node:PJSONNODE; value:double);cdecl;
+ set_b : procedure (node:PJSONNODE; value:int);cdecl;
+ set_n : procedure (node:PJSONNODE; orig:PJSONNODE);cdecl;
+
+ _type : function (node:PJSONNODE):char;cdecl;
+ size : function (node:PJSONNODE):uint;cdecl;
+ empty : function (node:PJSONNODE):int;cdecl;
+ name : function (node:PJSONNODE):PAnsiChar;cdecl;
+ get_comment : function (node:PJSONNODE):PAnsiChar;cdecl;
+
+ as_string : function (node:PJSONNODE):PAnsiChar;cdecl;
+ as_int : function (node:PJSONNODE):long;cdecl;
+ as_float : function (node:PJSONNODE):double;cdecl;
+ as_bool : function (node:PJSONNODE):int;cdecl;
+ as_node : function (node:PJSONNODE):PJSONNODE;cdecl;
+ as_array : function (node:PJSONNODE):PJSONNODE;cdecl;
+ as_binary : function (node:PJSONNODE; size:Pulong):pointer;cdecl;
+
+ write : function (node:PJSONNODE):PAnsiChar;cdecl;
+ write_formatted : function (node:PJSONNODE):PAnsiChar;cdecl;
+ set_name : procedure (node:PJSONNODE; name:PAnsiChar);cdecl;
+ set_comment : procedure (node:PJSONNODE; comment:PAnsiChar);cdecl;
+ clear : procedure (node:PJSONNODE);cdecl;
+ nullify : procedure (node:PJSONNODE);cdecl;
+ swap : procedure (node:PJSONNODE; node2:PJSONNODE);cdecl;
+ merge : procedure (node:PJSONNODE; node2:PJSONNODE);cdecl;
+ preparse : procedure (node:PJSONNODE);cdecl;
+ set_binary : procedure (node:PJSONNODE; data:pointer; length:ulong);cdecl;
+ cast : procedure (node:PJSONNODE; _type:AnsiChar);cdecl;
+ reserve : procedure (node:PJSONNODE; siz:uint);cdecl;
+ at : function (node:PJSONNODE; pos:uint):PJSONNODE;cdecl;
+ get : function (node:PJSONNODE; name:PAnsiChar):PJSONNODE;cdecl;
+ get_nocase : function (node:PJSONNODE; name:PAnsiChar):PJSONNODE;cdecl;
+ pop_back_nocase : function (node:PJSONNODE; name:PAnsiChar):PJSONNODE;cdecl;
+ push_back : procedure (node:PJSONNODE; node2:PJSONNODE);cdecl;
+ pop_back_at : function (node:PJSONNODE; pos:uint):PJSONNODE;cdecl;
+ pop_back : function (node:PJSONNODE; name:PAnsiChar):PJSONNODE;cdecl;
+ find : function (node:PJSONNODE; name:PAnsiChar):TJSONNODE_ITERATOR;cdecl;
+ find_nocase : function (node:PJSONNODE; name:PAnsiChar):TJSONNODE_ITERATOR;cdecl;
+ erase : function (node:PJSONNODE; it:TJSONNODE_ITERATOR):TJSONNODE_ITERATOR;cdecl;
+ erase_multi : function (node:PJSONNODE; start:TJSONNODE_ITERATOR;
+ _end:TJSONNODE_ITERATOR):TJSONNODE_ITERATOR;cdecl;
+ insert : function (node:PJSONNODE; it:TJSONNODE_ITERATOR; node2:PJSONNODE):TJSONNODE_ITERATOR;cdecl;
+ insert_multi : function (node:PJSONNODE; it:TJSONNODE_ITERATOR; start:TJSONNODE_ITERATOR;
+ _end:TJSONNODE_ITERATOR):TJSONNODE_ITERATOR;cdecl;
+
+ _begin : function (node:PJSONNODE):TJSONNODE_ITERATOR;cdecl;
+ _end : function (node:PJSONNODE):TJSONNODE_ITERATOR;cdecl;
+ equal : function (node:PJSONNODE; node2:PJSONNODE):int;cdecl;
+ end;
+
+const
+ MS_JSON_GETINTERFACE:PAnsiChar = 'JSON/GetInterface';
+
+{$ENDIF}