annotate python/python-libpst.cpp @ 360:26c48ea9d896

From Jeffrey Morlan: pst_build_id_ptr reads the Block BTree into a linked list, which pst_getID does a linear scan through. For large PSTs that have millions of blocks, this is extremely slow - almost all time is spent in pst_getID. Since the BTree entries must be in order, this can be dramatically improved by reading into an array and using binary search.
author Carl Byington <carl@five-ten-sg.com>
date Wed, 06 Jul 2016 10:21:08 -0700
parents 1ddc61fd6189
children 5c0ce43c7532
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
1 #ifdef HAVE_CONFIG_H
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
2 #include "config.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
3 #endif
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
4
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
5 #include <iostream>
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
6 #include <boost/python.hpp>
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
7 // #include <boost/python/docstring_options.hpp>
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
8 // #include <iostream>
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
9
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
10 extern "C" {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
11 #include "libpst.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
12 #include "timeconv.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
13 #include "libstrfunc.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
14 #include "vbuf.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
15 #include "lzfu.h"
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
16 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
17
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
18 using namespace std;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
19 using namespace boost::python;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
20
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
21
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
22 /** python version of pst_binary, where python is
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
23 responsible for freeing the underlying buffer */
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
24 struct ppst_binary : public pst_binary
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
25 {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
26 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
27
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
28 class pst {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
29 public:
298
201464dd356e add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents: 297
diff changeset
30 pst(const string filename, const string charset);
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
31 virtual ~pst();
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
32 pst_desc_tree* pst_getTopOfFolders();
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
33 ppst_binary pst_attach_to_mem(pst_item_attach *attach);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
34 size_t pst_attach_to_file(pst_item_attach *attach, FILE* fp);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
35 size_t pst_attach_to_file_base64(pst_item_attach *attach, FILE* fp);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
36 pst_desc_tree* pst_getNextDptr(pst_desc_tree* d);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
37 pst_item* pst_parse_item(pst_desc_tree *d_ptr, pst_id2_tree *m_head);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
38 void pst_freeItem(pst_item *item);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
39 pst_index_ll* pst_getID(uint64_t i_id);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
40 size_t pst_ff_getIDblock_dec(uint64_t i_id, char **buf);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
41 string pst_rfc2426_escape(char *str);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
42 string pst_rfc2425_datetime_format(const FILETIME *ft);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
43 string pst_rfc2445_datetime_format(const FILETIME *ft);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
44 string pst_default_charset(pst_item *item);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
45 void pst_convert_utf8_null(pst_item *item, pst_string *str);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
46 void pst_convert_utf8(pst_item *item, pst_string *str);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
47 pst_recurrence* pst_convert_recurrence(pst_item_appointment *appt);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
48 void pst_free_recurrence(pst_recurrence* r);
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
49
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
50 /** helper for python access to fopen() */
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
51 FILE* ppst_open_file(string filename, string mode);
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
52 /** helper for python access to fclose() */
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
53 int ppst_close_file(FILE* fp);
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
54
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
55 private:
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
56 bool is_open;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
57 pst_file pf;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
58 pst_item* root;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
59 pst_desc_tree* topf;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
60
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
61 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
62
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
63
298
201464dd356e add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents: 297
diff changeset
64 pst::pst(const string filename, const string charset) {
201464dd356e add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents: 297
diff changeset
65 is_open = (::pst_open(&pf, filename.c_str(), charset.c_str()) == 0);
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
66 root = NULL;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
67 topf = NULL;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
68 if (is_open) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
69 ::pst_load_index(&pf);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
70 ::pst_load_extended_attributes(&pf);
204
268458c79e9b more cleanup of the shared library interface, but still not fully thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 201
diff changeset
71 if (pf.d_head) root = ::pst_parse_item(&pf, pf.d_head, NULL);
268458c79e9b more cleanup of the shared library interface, but still not fully thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 201
diff changeset
72 if (root) topf = ::pst_getTopOfFolders(&pf, root)->child;
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
73 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
74 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
75
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
76 pst::~pst() {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
77 if (root) pst_freeItem(root);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
78 if (is_open) ::pst_close(&pf);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
79 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
80
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
81 pst_desc_tree* pst::pst_getTopOfFolders() {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
82 return topf;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
83 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
84
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
85 ppst_binary pst::pst_attach_to_mem(pst_item_attach *attach) {
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
86 pst_binary r = ::pst_attach_to_mem(&pf, attach);
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
87 ppst_binary rc;
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
88 rc.size = r.size;
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
89 rc.data = r.data;
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
90 return rc;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
91 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
92
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
93 size_t pst::pst_attach_to_file(pst_item_attach *attach, FILE* fp) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
94 return ::pst_attach_to_file(&pf, attach, fp);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
95 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
96
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
97 size_t pst::pst_attach_to_file_base64(pst_item_attach *attach, FILE* fp) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
98 return ::pst_attach_to_file_base64(&pf, attach, fp);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
99 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
100
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
101 pst_desc_tree* pst::pst_getNextDptr(pst_desc_tree* d) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
102 return ::pst_getNextDptr(d);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
103 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
104
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
105 pst_item* pst::pst_parse_item (pst_desc_tree *d_ptr, pst_id2_tree *m_head) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
106 return ::pst_parse_item(&pf, d_ptr, m_head);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
107 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
108
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
109 void pst::pst_freeItem(pst_item *item) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
110 return ::pst_freeItem(item);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
111 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
112
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
113 pst_index_ll* pst::pst_getID(uint64_t i_id) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
114 return ::pst_getID(&pf, i_id);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
115 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
116
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
117 size_t pst::pst_ff_getIDblock_dec(uint64_t i_id, char **buf) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
118 return ::pst_ff_getIDblock_dec(&pf, i_id, buf);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
119 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
120
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
121 string pst::pst_rfc2426_escape(char *str) {
211
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
122 char *result = NULL;
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
123 size_t resultlen = 0;
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
124 char *rc = ::pst_rfc2426_escape(str, &result, &resultlen);
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
125 string rrc(rc);
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
126 if (result) free(result);
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
127 return rrc;
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
128 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
129
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
130 string pst::pst_rfc2425_datetime_format(const FILETIME *ft) {
199
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
131 char buf[30];
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
132 ::pst_rfc2425_datetime_format(ft, sizeof(buf), buf);
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
133 return string(buf);
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
134 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
135
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
136 string pst::pst_rfc2445_datetime_format(const FILETIME *ft) {
199
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
137 char buf[30];
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
138 ::pst_rfc2445_datetime_format(ft, sizeof(buf), buf);
e3a46f66332b more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents: 198
diff changeset
139 return string(buf);
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
140 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
141
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
142 string pst::pst_default_charset(pst_item *item) {
211
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
143 char buf[30];
94bde95d7e18 the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents: 204
diff changeset
144 return string(::pst_default_charset(item, sizeof(buf), buf));
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
145 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
146
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
147 void pst::pst_convert_utf8_null(pst_item *item, pst_string *str) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
148 ::pst_convert_utf8_null(item, str);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
149 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
150
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
151 void pst::pst_convert_utf8(pst_item *item, pst_string *str) {
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
152 ::pst_convert_utf8(item, str);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
153 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
154
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
155 pst_recurrence* pst::pst_convert_recurrence(pst_item_appointment *appt)
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
156 {
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
157 return ::pst_convert_recurrence(appt);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
158 }
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
159
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
160 void pst::pst_free_recurrence(pst_recurrence* r)
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
161 {
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
162 ::pst_free_recurrence(r);
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
163 }
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
164
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
165 FILE* pst::ppst_open_file(string filename, string mode) {
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
166 return ::fopen(filename.c_str(), mode.c_str());
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
167 }
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
168
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
169 int pst::ppst_close_file(FILE* fp) {
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
170 return ::fclose(fp);
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
171 }
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
172
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
173 struct make_python_string {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
174 /* we make no distinction between empty and null strings */
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
175 static PyObject* convert(char* const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
176 string ss;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
177 if (s) ss = string(s);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
178 return boost::python::incref(boost::python::object(ss).ptr());
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
179 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
180 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
181
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
182 struct make_python_pst_binary {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
183 static PyObject* convert(pst_binary const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
184 if (s.data) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
185 string ss;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
186 ss = string(s.data, s.size);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
187 return boost::python::incref(boost::python::object(ss).ptr());
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
188 }
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
189 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
190 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
191 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
192
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
193 struct make_python_ppst_binary {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
194 static PyObject* convert(ppst_binary const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
195 if (s.data) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
196 string ss;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
197 ss = string(s.data, s.size);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
198 free(s.data);
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
199 return boost::python::incref(boost::python::object(ss).ptr());
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
200 }
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
201 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
202 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
203 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
204
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
205 struct make_python_pst_item_email {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
206 static PyObject* convert(pst_item_email* const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
207 if (s) return to_python_indirect<pst_item_email*, detail::make_reference_holder>()(s);
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
208 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
209 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
210 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
211
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
212 struct make_python_pst_item_attach {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
213 static PyObject* convert(pst_item_attach* const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
214 if (s) return to_python_indirect<pst_item_attach*, detail::make_reference_holder>()(s);
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
215 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
216 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
217 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
218
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
219 struct make_python_pst_desc_tree {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
220 static PyObject* convert(pst_desc_tree* const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
221 if (s) return to_python_indirect<pst_desc_tree*, detail::make_reference_holder>()(s);
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
222 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
223 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
224 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
225
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
226 struct make_python_pst_index_ll {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
227 static PyObject* convert(pst_index_ll* const &s) {
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
228 if (s) return to_python_indirect<pst_index_ll*, detail::make_reference_holder>()(s);
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
229 return boost::python::incref(boost::python::object().ptr());
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
230 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
231 };
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
232
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
233 struct make_python_FILE {
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
234 static PyObject* convert(FILE* const &s) {
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
235 if (s) return to_python_indirect<FILE*, detail::make_reference_holder>()(s);
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
236 return boost::python::incref(boost::python::object().ptr());
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
237 }
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
238 };
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
239
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
240 BOOST_PYTHON_MODULE(_libpst)
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
241 {
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
242 //boost::python::docstring_options doc_options();
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
243
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
244 to_python_converter<pst_binary, make_python_pst_binary>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
245 to_python_converter<ppst_binary, make_python_ppst_binary>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
246 to_python_converter<char*, make_python_string>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
247 to_python_converter<pst_item_email*, make_python_pst_item_email>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
248 to_python_converter<pst_item_attach*, make_python_pst_item_attach>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
249 to_python_converter<pst_desc_tree*, make_python_pst_desc_tree>();
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
250 to_python_converter<pst_index_ll*, make_python_pst_index_ll>();
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
251 to_python_converter<FILE*, make_python_FILE>();
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
252
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
253 class_<FILE>("FILE")
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
254 ;
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
255
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
256 class_<FILETIME>("FILETIME")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
257 .def_readwrite("dwLowDateTime", &FILETIME::dwLowDateTime)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
258 .def_readwrite("dwHighDateTime", &FILETIME::dwHighDateTime)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
259 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
260
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
261 class_<pst_entryid>("pst_entryid")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
262 .def_readonly("u1", &pst_entryid::u1)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
263 .def_readonly("entryid", &pst_entryid::entryid)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
264 .def_readonly("id", &pst_entryid::id)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
265 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
266
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
267 class_<pst_index_ll>("pst_index_ll")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
268 .def_readonly("i_id", &pst_index_ll::i_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
269 .def_readonly("offset", &pst_index_ll::offset)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
270 .def_readonly("size", &pst_index_ll::size)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
271 .def_readonly("u1", &pst_index_ll::u1)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
272 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
273
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
274 class_<pst_id2_tree>("pst_id2_tree")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
275 .def_readonly("id2", &pst_id2_tree::id2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
276 .add_property("id", make_getter(&pst_id2_tree::id, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
277 .add_property("child", make_getter(&pst_id2_tree::child, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
278 .add_property("next", make_getter(&pst_id2_tree::next, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
279 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
280
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
281 class_<pst_desc_tree>("pst_desc_tree")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
282 .def_readonly("d_id", &pst_desc_tree::d_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
283 .def_readonly("parent_d_id", &pst_desc_tree::parent_d_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
284 .add_property("desc", make_getter(&pst_desc_tree::desc, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
285 .add_property("assoc_tree", make_getter(&pst_desc_tree::assoc_tree, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
286 .def_readonly("no_child", &pst_desc_tree::no_child)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
287 .add_property("prev", make_getter(&pst_desc_tree::prev, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
288 .add_property("next", make_getter(&pst_desc_tree::next, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
289 .add_property("parent", make_getter(&pst_desc_tree::parent, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
290 .add_property("child", make_getter(&pst_desc_tree::child, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
291 .add_property("child_tail", make_getter(&pst_desc_tree::child_tail, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
292 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
293
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
294 class_<pst_string>("pst_string")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
295 .def_readonly("is_utf8", &pst_string::is_utf8)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
296 .def_readonly("str", &pst_string::str)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
297 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
298
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
299 class_<pst_item_email>("pst_item_email")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
300 .add_property("arrival_date", make_getter(&pst_item_email::arrival_date, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
301 .def_readonly("autoforward", &pst_item_email::autoforward)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
302 .def_readonly("cc_address", &pst_item_email::cc_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
303 .def_readonly("bcc_address", &pst_item_email::bcc_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
304 .add_property("conversation_index", make_getter(&pst_item_email::conversation_index, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
305 .def_readonly("conversion_prohibited", &pst_item_email::conversion_prohibited)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
306 .def_readonly("delete_after_submit", &pst_item_email::delete_after_submit)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
307 .def_readonly("delivery_report", &pst_item_email::delivery_report)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
308 .add_property("encrypted_body", make_getter(&pst_item_email::encrypted_body, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
309 .add_property("encrypted_htmlbody", make_getter(&pst_item_email::encrypted_htmlbody, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
310 .def_readonly("header", &pst_item_email::header)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
311 .def_readonly("htmlbody", &pst_item_email::htmlbody)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
312 .def_readonly("importance", &pst_item_email::importance)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
313 .def_readonly("in_reply_to", &pst_item_email::in_reply_to)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
314 .def_readonly("message_cc_me", &pst_item_email::message_cc_me)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
315 .def_readonly("message_recip_me", &pst_item_email::message_recip_me)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
316 .def_readonly("message_to_me", &pst_item_email::message_to_me)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
317 .def_readonly("messageid", &pst_item_email::messageid)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
318 .def_readonly("original_sensitivity", &pst_item_email::original_sensitivity)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
319 .def_readonly("original_bcc", &pst_item_email::original_bcc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
320 .def_readonly("original_cc", &pst_item_email::original_cc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
321 .def_readonly("original_to", &pst_item_email::original_to)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
322 .def_readonly("outlook_recipient", &pst_item_email::outlook_recipient)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
323 .def_readonly("outlook_recipient_name", &pst_item_email::outlook_recipient_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
324 .def_readonly("outlook_recipient2", &pst_item_email::outlook_recipient2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
325 .def_readonly("outlook_sender", &pst_item_email::outlook_sender)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
326 .def_readonly("outlook_sender_name", &pst_item_email::outlook_sender_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
327 .def_readonly("outlook_sender2", &pst_item_email::outlook_sender2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
328 .def_readonly("priority", &pst_item_email::priority)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
329 .def_readonly("processed_subject", &pst_item_email::processed_subject)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
330 .def_readonly("read_receipt", &pst_item_email::read_receipt)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
331 .def_readonly("recip_access", &pst_item_email::recip_access)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
332 .def_readonly("recip_address", &pst_item_email::recip_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
333 .def_readonly("recip2_access", &pst_item_email::recip2_access)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
334 .def_readonly("recip2_address", &pst_item_email::recip2_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
335 .def_readonly("reply_requested", &pst_item_email::reply_requested)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
336 .def_readonly("reply_to", &pst_item_email::reply_to)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
337 .def_readonly("return_path_address", &pst_item_email::return_path_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
338 .def_readonly("rtf_body_char_count", &pst_item_email::rtf_body_char_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
339 .def_readonly("rtf_body_crc", &pst_item_email::rtf_body_crc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
340 .def_readonly("rtf_body_tag", &pst_item_email::rtf_body_tag)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
341 .add_property("rtf_compressed", make_getter(&pst_item_email::rtf_compressed, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
342 .def_readonly("rtf_in_sync", &pst_item_email::rtf_in_sync)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
343 .def_readonly("rtf_ws_prefix_count", &pst_item_email::rtf_ws_prefix_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
344 .def_readonly("rtf_ws_trailing_count", &pst_item_email::rtf_ws_trailing_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
345 .def_readonly("sender_access", &pst_item_email::sender_access)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
346 .def_readonly("sender_address", &pst_item_email::sender_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
347 .def_readonly("sender2_access", &pst_item_email::sender2_access)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
348 .def_readonly("sender2_address", &pst_item_email::sender2_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
349 .def_readonly("sensitivity", &pst_item_email::sensitivity)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
350 .add_property("sent_date", make_getter(&pst_item_email::sent_date, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
351 .add_property("sentmail_folder", make_getter(&pst_item_email::sentmail_folder, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
352 .def_readonly("sentto_address", &pst_item_email::sentto_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
353 .def_readonly("report_text", &pst_item_email::report_text)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
354 .add_property("report_time", make_getter(&pst_item_email::report_time, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
355 .def_readonly("ndr_reason_code", &pst_item_email::ndr_reason_code)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
356 .def_readonly("ndr_diag_code", &pst_item_email::ndr_diag_code)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
357 .def_readonly("supplementary_info", &pst_item_email::supplementary_info)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
358 .def_readonly("ndr_status_code", &pst_item_email::ndr_status_code)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
359 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
360
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
361 class_<pst_item_folder>("pst_item_folder")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
362 .def_readonly("item_count", &pst_item_folder::item_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
363 .def_readonly("unseen_item_count", &pst_item_folder::unseen_item_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
364 .def_readonly("assoc_count", &pst_item_folder::assoc_count)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
365 .def_readonly("subfolder", &pst_item_folder::subfolder)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
366 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
367
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
368 class_<pst_item_message_store>("pst_item_message_store")
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
369 .add_property("top_of_personal_folder", make_getter(&pst_item_message_store::top_of_personal_folder, return_value_policy<reference_existing_object>()))
196
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
370 .add_property("default_outbox_folder", make_getter(&pst_item_message_store::default_outbox_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
371 .add_property("deleted_items_folder", make_getter(&pst_item_message_store::deleted_items_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
372 .add_property("sent_items_folder", make_getter(&pst_item_message_store::sent_items_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
373 .add_property("user_views_folder", make_getter(&pst_item_message_store::user_views_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
374 .add_property("common_view_folder", make_getter(&pst_item_message_store::common_view_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
375 .add_property("search_root_folder", make_getter(&pst_item_message_store::search_root_folder, return_value_policy<reference_existing_object>()))
ffd1503a7530 build proper python rpm subpackage
Carl Byington <carl@five-ten-sg.com>
parents: 195
diff changeset
376 .add_property("top_of_folder", make_getter(&pst_item_message_store::top_of_folder, return_value_policy<reference_existing_object>()))
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
377 .def_readonly("valid_mask", &pst_item_message_store::valid_mask)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
378 .def_readonly("pwd_chksum", &pst_item_message_store::pwd_chksum)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
379 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
380
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
381 class_<pst_item_contact>("pst_item_contact")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
382 .def_readonly("account_name", &pst_item_contact::account_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
383 .def_readonly("address1", &pst_item_contact::address1)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
384 .def_readonly("address1a", &pst_item_contact::address1a)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
385 .def_readonly("address1_desc", &pst_item_contact::address1_desc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
386 .def_readonly("address1_transport", &pst_item_contact::address1_transport)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
387 .def_readonly("address2", &pst_item_contact::address2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
388 .def_readonly("address2a", &pst_item_contact::address2a)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
389 .def_readonly("address2_desc", &pst_item_contact::address2_desc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
390 .def_readonly("address2_transport", &pst_item_contact::address2_transport)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
391 .def_readonly("address3", &pst_item_contact::address3)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
392 .def_readonly("address3a", &pst_item_contact::address3a)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
393 .def_readonly("address3_desc", &pst_item_contact::address3_desc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
394 .def_readonly("address3_transport", &pst_item_contact::address3_transport)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
395 .def_readonly("assistant_name", &pst_item_contact::assistant_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
396 .def_readonly("assistant_phone", &pst_item_contact::assistant_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
397 .def_readonly("billing_information", &pst_item_contact::billing_information)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
398 .add_property("birthday", make_getter(&pst_item_contact::birthday, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
399 .def_readonly("business_address", &pst_item_contact::business_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
400 .def_readonly("business_city", &pst_item_contact::business_city)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
401 .def_readonly("business_country", &pst_item_contact::business_country)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
402 .def_readonly("business_fax", &pst_item_contact::business_fax)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
403 .def_readonly("business_homepage", &pst_item_contact::business_homepage)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
404 .def_readonly("business_phone", &pst_item_contact::business_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
405 .def_readonly("business_phone2", &pst_item_contact::business_phone2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
406 .def_readonly("business_po_box", &pst_item_contact::business_po_box)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
407 .def_readonly("business_postal_code", &pst_item_contact::business_postal_code)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
408 .def_readonly("business_state", &pst_item_contact::business_state)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
409 .def_readonly("business_street", &pst_item_contact::business_street)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
410 .def_readonly("callback_phone", &pst_item_contact::callback_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
411 .def_readonly("car_phone", &pst_item_contact::car_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
412 .def_readonly("company_main_phone", &pst_item_contact::company_main_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
413 .def_readonly("company_name", &pst_item_contact::company_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
414 .def_readonly("computer_name", &pst_item_contact::computer_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
415 .def_readonly("customer_id", &pst_item_contact::customer_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
416 .def_readonly("def_postal_address", &pst_item_contact::def_postal_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
417 .def_readonly("department", &pst_item_contact::department)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
418 .def_readonly("display_name_prefix", &pst_item_contact::display_name_prefix)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
419 .def_readonly("first_name", &pst_item_contact::first_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
420 .def_readonly("followup", &pst_item_contact::followup)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
421 .def_readonly("free_busy_address", &pst_item_contact::free_busy_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
422 .def_readonly("ftp_site", &pst_item_contact::ftp_site)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
423 .def_readonly("fullname", &pst_item_contact::fullname)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
424 .def_readonly("gender", &pst_item_contact::gender)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
425 .def_readonly("gov_id", &pst_item_contact::gov_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
426 .def_readonly("hobbies", &pst_item_contact::hobbies)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
427 .def_readonly("home_address", &pst_item_contact::home_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
428 .def_readonly("home_city", &pst_item_contact::home_city)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
429 .def_readonly("home_country", &pst_item_contact::home_country)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
430 .def_readonly("home_fax", &pst_item_contact::home_fax)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
431 .def_readonly("home_phone", &pst_item_contact::home_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
432 .def_readonly("home_phone2", &pst_item_contact::home_phone2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
433 .def_readonly("home_po_box", &pst_item_contact::home_po_box)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
434 .def_readonly("home_postal_code", &pst_item_contact::home_postal_code)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
435 .def_readonly("home_state", &pst_item_contact::home_state)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
436 .def_readonly("home_street", &pst_item_contact::home_street)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
437 .def_readonly("initials", &pst_item_contact::initials)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
438 .def_readonly("isdn_phone", &pst_item_contact::isdn_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
439 .def_readonly("job_title", &pst_item_contact::job_title)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
440 .def_readonly("keyword", &pst_item_contact::keyword)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
441 .def_readonly("language", &pst_item_contact::language)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
442 .def_readonly("location", &pst_item_contact::location)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
443 .def_readonly("mail_permission", &pst_item_contact::mail_permission)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
444 .def_readonly("manager_name", &pst_item_contact::manager_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
445 .def_readonly("middle_name", &pst_item_contact::middle_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
446 .def_readonly("mileage", &pst_item_contact::mileage)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
447 .def_readonly("mobile_phone", &pst_item_contact::mobile_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
448 .def_readonly("nickname", &pst_item_contact::nickname)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
449 .def_readonly("office_loc", &pst_item_contact::office_loc)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
450 .def_readonly("common_name", &pst_item_contact::common_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
451 .def_readonly("org_id", &pst_item_contact::org_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
452 .def_readonly("other_address", &pst_item_contact::other_address)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
453 .def_readonly("other_city", &pst_item_contact::other_city)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
454 .def_readonly("other_country", &pst_item_contact::other_country)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
455 .def_readonly("other_phone", &pst_item_contact::other_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
456 .def_readonly("other_po_box", &pst_item_contact::other_po_box)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
457 .def_readonly("other_postal_code", &pst_item_contact::other_postal_code)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
458 .def_readonly("other_state", &pst_item_contact::other_state)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
459 .def_readonly("other_street", &pst_item_contact::other_street)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
460 .def_readonly("pager_phone", &pst_item_contact::pager_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
461 .def_readonly("personal_homepage", &pst_item_contact::personal_homepage)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
462 .def_readonly("pref_name", &pst_item_contact::pref_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
463 .def_readonly("primary_fax", &pst_item_contact::primary_fax)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
464 .def_readonly("primary_phone", &pst_item_contact::primary_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
465 .def_readonly("profession", &pst_item_contact::profession)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
466 .def_readonly("radio_phone", &pst_item_contact::radio_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
467 .def_readonly("rich_text", &pst_item_contact::rich_text)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
468 .def_readonly("spouse_name", &pst_item_contact::spouse_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
469 .def_readonly("suffix", &pst_item_contact::suffix)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
470 .def_readonly("surname", &pst_item_contact::surname)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
471 .def_readonly("telex", &pst_item_contact::telex)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
472 .def_readonly("transmittable_display_name", &pst_item_contact::transmittable_display_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
473 .def_readonly("ttytdd_phone", &pst_item_contact::ttytdd_phone)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
474 .add_property("wedding_anniversary", make_getter(&pst_item_contact::wedding_anniversary, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
475 .def_readonly("work_address_street", &pst_item_contact::work_address_street)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
476 .def_readonly("work_address_city", &pst_item_contact::work_address_city)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
477 .def_readonly("work_address_state", &pst_item_contact::work_address_state)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
478 .def_readonly("work_address_postalcode", &pst_item_contact::work_address_postalcode)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
479 .def_readonly("work_address_country", &pst_item_contact::work_address_country)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
480 .def_readonly("work_address_postofficebox", &pst_item_contact::work_address_postofficebox)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
481 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
482
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
483 class_<pst_item_attach>("pst_item_attach")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
484 .def_readonly("filename1", &pst_item_attach::filename1)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
485 .def_readonly("filename2", &pst_item_attach::filename2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
486 .def_readonly("mimetype", &pst_item_attach::mimetype)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
487 .add_property("data", make_getter(&pst_item_attach::data, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
488 .def_readonly("id2_val", &pst_item_attach::id2_val)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
489 .def_readonly("i_id", &pst_item_attach::i_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
490 .add_property("id2_head", make_getter(&pst_item_attach::id2_head, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
491 .def_readonly("method", &pst_item_attach::method)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
492 .def_readonly("position", &pst_item_attach::position)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
493 .def_readonly("sequence", &pst_item_attach::sequence)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
494 .add_property("next", make_getter(&pst_item_attach::next, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
495 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
496
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
497 class_<pst_item_extra_field>("pst_item_extra_field")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
498 .def_readonly("field_name", &pst_item_extra_field::field_name)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
499 .def_readonly("value", &pst_item_extra_field::value)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
500 .add_property("next", make_getter(&pst_item_extra_field::next, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
501 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
502
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
503 class_<pst_item_journal>("pst_item_journal")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
504 .add_property("start", make_getter(&pst_item_journal::start, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
505 .add_property("end", make_getter(&pst_item_journal::end, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
506 .def_readonly("type", &pst_item_journal::type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
507 .def_readonly("description", &pst_item_journal::description)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
508 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
509
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
510 class_<pst_recurrence>("pst_recurrence")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
511 .def_readonly("signature", &pst_recurrence::signature)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
512 .def_readonly("type", &pst_recurrence::type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
513 .def_readonly("sub_type", &pst_recurrence::sub_type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
514 .def_readonly("parm1", &pst_recurrence::parm1)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
515 .def_readonly("parm2", &pst_recurrence::parm2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
516 .def_readonly("parm3", &pst_recurrence::parm3)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
517 .def_readonly("parm4", &pst_recurrence::parm4)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
518 .def_readonly("parm5", &pst_recurrence::parm5)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
519 .def_readonly("termination", &pst_recurrence::termination)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
520 .def_readonly("interval", &pst_recurrence::interval)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
521 .def_readonly("bydaymask", &pst_recurrence::bydaymask)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
522 .def_readonly("dayofmonth", &pst_recurrence::dayofmonth)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
523 .def_readonly("monthofyear", &pst_recurrence::monthofyear)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
524 .def_readonly("position", &pst_recurrence::position)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
525 .def_readonly("count", &pst_recurrence::count)
198
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
526 ;
7c60d6d1c681 decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents: 196
diff changeset
527
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
528 class_<pst_item_appointment>("pst_item_appointment")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
529 .add_property("start", make_getter(&pst_item_appointment::start, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
530 .add_property("end", make_getter(&pst_item_appointment::end, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
531 .def_readonly("location", &pst_item_appointment::location)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
532 .def_readonly("alarm", &pst_item_appointment::alarm)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
533 .add_property("reminder", make_getter(&pst_item_appointment::reminder, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
534 .def_readonly("alarm_minutes", &pst_item_appointment::alarm_minutes)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
535 .def_readonly("alarm_filename", &pst_item_appointment::alarm_filename)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
536 .def_readonly("timezonestring", &pst_item_appointment::timezonestring)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
537 .def_readonly("showas", &pst_item_appointment::showas)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
538 .def_readonly("label", &pst_item_appointment::label)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
539 .def_readonly("all_day", &pst_item_appointment::all_day)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
540 .def_readonly("is_recurring", &pst_item_appointment::is_recurring)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
541 .def_readonly("recurrence_type", &pst_item_appointment::recurrence_type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
542 .def_readonly("recurrence_description", &pst_item_appointment::recurrence_description)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
543 .add_property("recurrence_data", make_getter(&pst_item_appointment::recurrence_data, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
544 .add_property("recurrence_start", make_getter(&pst_item_appointment::recurrence_start, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
545 .add_property("recurrence_end", make_getter(&pst_item_appointment::recurrence_end, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
546 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
547
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
548 class_<pst_item>("pst_item")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
549 .add_property("email", make_getter(&pst_item::email, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
550 .add_property("folder", make_getter(&pst_item::folder, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
551 .add_property("contact", make_getter(&pst_item::contact, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
552 .add_property("attach", make_getter(&pst_item::attach, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
553 .add_property("message_store", make_getter(&pst_item::message_store, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
554 .add_property("extra_fields", make_getter(&pst_item::extra_fields, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
555 .add_property("journal", make_getter(&pst_item::journal, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
556 .add_property("appointment", make_getter(&pst_item::appointment, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
557 .def_readonly("block_id", &pst_item::block_id)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
558 .def_readonly("type", &pst_item::type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
559 .def_readonly("ascii_type", &pst_item::ascii_type)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
560 .def_readonly("flags", &pst_item::flags)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
561 .def_readonly("file_as", &pst_item::file_as)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
562 .def_readonly("comment", &pst_item::comment)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
563 .def_readonly("body_charset", &pst_item::body_charset)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
564 .def_readonly("body", &pst_item::body)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
565 .def_readonly("subject", &pst_item::subject)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
566 .def_readonly("internet_cpid", &pst_item::internet_cpid)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
567 .def_readonly("message_codepage", &pst_item::message_codepage)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
568 .def_readonly("message_size", &pst_item::message_size)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
569 .def_readonly("outlook_version", &pst_item::outlook_version)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
570 .add_property("record_key", make_getter(&pst_item::record_key, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
571 .add_property("predecessor_change", make_getter(&pst_item::predecessor_change, return_value_policy<return_by_value>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
572 .def_readonly("response_requested", &pst_item::response_requested)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
573 .add_property("create_date", make_getter(&pst_item::create_date, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
574 .add_property("modify_date", make_getter(&pst_item::modify_date, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
575 .def_readonly("private_member", &pst_item::private_member)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
576 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
577
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
578 class_<pst_x_attrib_ll>("pst_x_attrib_ll")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
579 .def_readonly("mytype", &pst_x_attrib_ll::mytype)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
580 .def_readonly("map", &pst_x_attrib_ll::map)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
581 .def_readonly("data", &pst_x_attrib_ll::data)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
582 .add_property("next", make_getter(&pst_x_attrib_ll::next, return_value_policy<reference_existing_object>()))
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
583 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
584
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
585 class_<pst_file>("pst_file")
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
586 .def_readonly("cwd", &pst_file::cwd)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
587 .def_readonly("fname", &pst_file::fname)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
588 .add_property("d_head", make_getter(&pst_file::d_head, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
589 .add_property("d_tail", make_getter(&pst_file::d_tail, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
590 .add_property("x_head", make_getter(&pst_file::x_head, return_value_policy<reference_existing_object>()))
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
591 .def_readonly("do_read64", &pst_file::do_read64)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
592 .def_readonly("index1", &pst_file::index1)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
593 .def_readonly("index1_back", &pst_file::index1_back)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
594 .def_readonly("index2", &pst_file::index2)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
595 .def_readonly("index2_back", &pst_file::index2_back)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
596 .def_readonly("size", &pst_file::size)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
597 .def_readonly("encryption", &pst_file::encryption)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
598 .def_readonly("ind_type", &pst_file::ind_type)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
599 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
600
298
201464dd356e add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents: 297
diff changeset
601 class_<pst>("pst", init<string,string>())
299
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
602 .def("pst_getTopOfFolders", &pst::pst_getTopOfFolders, return_value_policy<reference_existing_object>())
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
603 .def("pst_attach_to_mem", &pst::pst_attach_to_mem)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
604 .def("pst_attach_to_file", &pst::pst_attach_to_file)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
605 .def("pst_attach_to_file_base64", &pst::pst_attach_to_file_base64)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
606 .def("pst_getNextDptr", &pst::pst_getNextDptr, return_value_policy<reference_existing_object>())
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
607 .def("pst_parse_item", &pst::pst_parse_item, return_value_policy<reference_existing_object>())
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
608 .def("pst_freeItem", &pst::pst_freeItem)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
609 .def("pst_getID", &pst::pst_getID, return_value_policy<reference_existing_object>())
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
610 .def("pst_ff_getIDblock_dec", &pst::pst_ff_getIDblock_dec)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
611 .def("pst_rfc2426_escape", &pst::pst_rfc2426_escape)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
612 .def("pst_rfc2425_datetime_format", &pst::pst_rfc2425_datetime_format)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
613 .def("pst_rfc2445_datetime_format", &pst::pst_rfc2445_datetime_format)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
614 .def("pst_default_charset", &pst::pst_default_charset)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
615 .def("pst_convert_utf8_null", &pst::pst_convert_utf8_null)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
616 .def("pst_convert_utf8", &pst::pst_convert_utf8)
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
617 .def("ppst_open_file", &pst::ppst_open_file, return_value_policy<reference_existing_object>())
1ddc61fd6189 fix pst_binary in python interface
Carl Byington <carl@five-ten-sg.com>
parents: 298
diff changeset
618 .def("ppst_close_file", &pst::ppst_close_file)
195
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
619 ;
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
620 }
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
621
320cfcba8058 add python module interface to the shared library for easy scripting.
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
622