comparison python/python-libpst.cpp @ 299:1ddc61fd6189

fix pst_binary in python interface
author Carl Byington <carl@five-ten-sg.com>
date Sun, 14 Aug 2011 19:58:47 -0700
parents 201464dd356e
children 26c48ea9d896
comparison
equal deleted inserted replaced
298:201464dd356e 299:1ddc61fd6189
184 if (s.data) { 184 if (s.data) {
185 string ss; 185 string ss;
186 ss = string(s.data, s.size); 186 ss = string(s.data, s.size);
187 return boost::python::incref(boost::python::object(ss).ptr()); 187 return boost::python::incref(boost::python::object(ss).ptr());
188 } 188 }
189 return NULL; 189 return boost::python::incref(boost::python::object().ptr());
190 } 190 }
191 }; 191 };
192 192
193 struct make_python_ppst_binary { 193 struct make_python_ppst_binary {
194 static PyObject* convert(ppst_binary const &s) { 194 static PyObject* convert(ppst_binary const &s) {
196 string ss; 196 string ss;
197 ss = string(s.data, s.size); 197 ss = string(s.data, s.size);
198 free(s.data); 198 free(s.data);
199 return boost::python::incref(boost::python::object(ss).ptr()); 199 return boost::python::incref(boost::python::object(ss).ptr());
200 } 200 }
201 return NULL; 201 return boost::python::incref(boost::python::object().ptr());
202 } 202 }
203 }; 203 };
204 204
205 struct make_python_pst_item_email { 205 struct make_python_pst_item_email {
206 static PyObject* convert(pst_item_email* const &s) { 206 static PyObject* convert(pst_item_email* const &s) {
207 if (s) return to_python_indirect<pst_item_email*, detail::make_reference_holder>()(s); 207 if (s) return to_python_indirect<pst_item_email*, detail::make_reference_holder>()(s);
208 return NULL; 208 return boost::python::incref(boost::python::object().ptr());
209 } 209 }
210 }; 210 };
211 211
212 struct make_python_pst_item_attach { 212 struct make_python_pst_item_attach {
213 static PyObject* convert(pst_item_attach* const &s) { 213 static PyObject* convert(pst_item_attach* const &s) {
214 if (s) return to_python_indirect<pst_item_attach*, detail::make_reference_holder>()(s); 214 if (s) return to_python_indirect<pst_item_attach*, detail::make_reference_holder>()(s);
215 return NULL; 215 return boost::python::incref(boost::python::object().ptr());
216 } 216 }
217 }; 217 };
218 218
219 struct make_python_pst_desc_tree { 219 struct make_python_pst_desc_tree {
220 static PyObject* convert(pst_desc_tree* const &s) { 220 static PyObject* convert(pst_desc_tree* const &s) {
221 if (s) return to_python_indirect<pst_desc_tree*, detail::make_reference_holder>()(s); 221 if (s) return to_python_indirect<pst_desc_tree*, detail::make_reference_holder>()(s);
222 return NULL; 222 return boost::python::incref(boost::python::object().ptr());
223 } 223 }
224 }; 224 };
225 225
226 struct make_python_pst_index_ll { 226 struct make_python_pst_index_ll {
227 static PyObject* convert(pst_index_ll* const &s) { 227 static PyObject* convert(pst_index_ll* const &s) {
228 if (s) return to_python_indirect<pst_index_ll*, detail::make_reference_holder>()(s); 228 if (s) return to_python_indirect<pst_index_ll*, detail::make_reference_holder>()(s);
229 return NULL; 229 return boost::python::incref(boost::python::object().ptr());
230 } 230 }
231 }; 231 };
232 232
233 struct make_python_FILE { 233 struct make_python_FILE {
234 static PyObject* convert(FILE* const &s) { 234 static PyObject* convert(FILE* const &s) {
235 if (s) return to_python_indirect<FILE*, detail::make_reference_holder>()(s); 235 if (s) return to_python_indirect<FILE*, detail::make_reference_holder>()(s);
236 return NULL; 236 return boost::python::incref(boost::python::object().ptr());
237 } 237 }
238 }; 238 };
239 239
240 BOOST_PYTHON_MODULE(_libpst) 240 BOOST_PYTHON_MODULE(_libpst)
241 { 241 {
252 252
253 class_<FILE>("FILE") 253 class_<FILE>("FILE")
254 ; 254 ;
255 255
256 class_<FILETIME>("FILETIME") 256 class_<FILETIME>("FILETIME")
257 .def_readwrite("dwLowDateTime", &FILETIME::dwLowDateTime) 257 .def_readwrite("dwLowDateTime", &FILETIME::dwLowDateTime)
258 .def_readwrite("dwHighDateTime", &FILETIME::dwHighDateTime) 258 .def_readwrite("dwHighDateTime", &FILETIME::dwHighDateTime)
259 ; 259 ;
260 260
261 class_<pst_entryid>("pst_entryid") 261 class_<pst_entryid>("pst_entryid")
262 .def_readonly("u1", &pst_entryid::u1) 262 .def_readonly("u1", &pst_entryid::u1)
263 .def_readonly("entryid", &pst_entryid::entryid) 263 .def_readonly("entryid", &pst_entryid::entryid)
264 .def_readonly("id", &pst_entryid::id) 264 .def_readonly("id", &pst_entryid::id)
265 ; 265 ;
266 266
267 class_<pst_index_ll>("pst_index_ll") 267 class_<pst_index_ll>("pst_index_ll")
268 .def_readonly("i_id", &pst_index_ll::i_id) 268 .def_readonly("i_id", &pst_index_ll::i_id)
269 .def_readonly("offset", &pst_index_ll::offset) 269 .def_readonly("offset", &pst_index_ll::offset)
270 .def_readonly("size", &pst_index_ll::size) 270 .def_readonly("size", &pst_index_ll::size)
271 .def_readonly("u1", &pst_index_ll::u1) 271 .def_readonly("u1", &pst_index_ll::u1)
272 .add_property("next", make_getter(&pst_index_ll::next, return_value_policy<reference_existing_object>())) 272 .add_property("next", make_getter(&pst_index_ll::next, return_value_policy<reference_existing_object>()))
273 ; 273 ;
274 274
275 class_<pst_id2_tree>("pst_id2_tree") 275 class_<pst_id2_tree>("pst_id2_tree")
276 .def_readonly("id2", &pst_id2_tree::id2) 276 .def_readonly("id2", &pst_id2_tree::id2)
277 .add_property("id", make_getter(&pst_id2_tree::id, return_value_policy<reference_existing_object>())) 277 .add_property("id", make_getter(&pst_id2_tree::id, return_value_policy<reference_existing_object>()))
278 .add_property("child", make_getter(&pst_id2_tree::child, return_value_policy<reference_existing_object>())) 278 .add_property("child", make_getter(&pst_id2_tree::child, return_value_policy<reference_existing_object>()))
279 .add_property("next", make_getter(&pst_id2_tree::next, return_value_policy<reference_existing_object>())) 279 .add_property("next", make_getter(&pst_id2_tree::next, return_value_policy<reference_existing_object>()))
280 ; 280 ;
281 281
282 class_<pst_desc_tree>("pst_desc_tree") 282 class_<pst_desc_tree>("pst_desc_tree")
283 .def_readonly("d_id", &pst_desc_tree::d_id) 283 .def_readonly("d_id", &pst_desc_tree::d_id)
284 .def_readonly("parent_d_id", &pst_desc_tree::parent_d_id) 284 .def_readonly("parent_d_id", &pst_desc_tree::parent_d_id)
285 .add_property("desc", make_getter(&pst_desc_tree::desc, return_value_policy<reference_existing_object>())) 285 .add_property("desc", make_getter(&pst_desc_tree::desc, return_value_policy<reference_existing_object>()))
286 .add_property("assoc_tree", make_getter(&pst_desc_tree::assoc_tree, return_value_policy<reference_existing_object>())) 286 .add_property("assoc_tree", make_getter(&pst_desc_tree::assoc_tree, return_value_policy<reference_existing_object>()))
287 .def_readonly("no_child", &pst_desc_tree::no_child) 287 .def_readonly("no_child", &pst_desc_tree::no_child)
288 .add_property("prev", make_getter(&pst_desc_tree::prev, return_value_policy<reference_existing_object>())) 288 .add_property("prev", make_getter(&pst_desc_tree::prev, return_value_policy<reference_existing_object>()))
289 .add_property("next", make_getter(&pst_desc_tree::next, return_value_policy<reference_existing_object>())) 289 .add_property("next", make_getter(&pst_desc_tree::next, return_value_policy<reference_existing_object>()))
290 .add_property("parent", make_getter(&pst_desc_tree::parent, return_value_policy<reference_existing_object>())) 290 .add_property("parent", make_getter(&pst_desc_tree::parent, return_value_policy<reference_existing_object>()))
291 .add_property("child", make_getter(&pst_desc_tree::child, return_value_policy<reference_existing_object>())) 291 .add_property("child", make_getter(&pst_desc_tree::child, return_value_policy<reference_existing_object>()))
292 .add_property("child_tail", make_getter(&pst_desc_tree::child_tail, return_value_policy<reference_existing_object>())) 292 .add_property("child_tail", make_getter(&pst_desc_tree::child_tail, return_value_policy<reference_existing_object>()))
293 ; 293 ;
294 294
295 class_<pst_string>("pst_string") 295 class_<pst_string>("pst_string")
296 .def_readonly("is_utf8", &pst_string::is_utf8) 296 .def_readonly("is_utf8", &pst_string::is_utf8)
297 .def_readonly("str", &pst_string::str) 297 .def_readonly("str", &pst_string::str)
298 ; 298 ;
299 299
300 class_<pst_item_email>("pst_item_email") 300 class_<pst_item_email>("pst_item_email")
301 .add_property("arrival_date", make_getter(&pst_item_email::arrival_date, return_value_policy<reference_existing_object>())) 301 .add_property("arrival_date", make_getter(&pst_item_email::arrival_date, return_value_policy<reference_existing_object>()))
302 .def_readonly("autoforward", &pst_item_email::autoforward) 302 .def_readonly("autoforward", &pst_item_email::autoforward)
303 .def_readonly("cc_address", &pst_item_email::cc_address) 303 .def_readonly("cc_address", &pst_item_email::cc_address)
304 .def_readonly("bcc_address", &pst_item_email::bcc_address) 304 .def_readonly("bcc_address", &pst_item_email::bcc_address)
305 .def_readonly("conversation_index", &pst_item_email::conversation_index) 305 .add_property("conversation_index", make_getter(&pst_item_email::conversation_index, return_value_policy<return_by_value>()))
306 .def_readonly("conversion_prohibited", &pst_item_email::conversion_prohibited) 306 .def_readonly("conversion_prohibited", &pst_item_email::conversion_prohibited)
307 .def_readonly("delete_after_submit", &pst_item_email::delete_after_submit) 307 .def_readonly("delete_after_submit", &pst_item_email::delete_after_submit)
308 .def_readonly("delivery_report", &pst_item_email::delivery_report) 308 .def_readonly("delivery_report", &pst_item_email::delivery_report)
309 .def_readonly("encrypted_body", &pst_item_email::encrypted_body) 309 .add_property("encrypted_body", make_getter(&pst_item_email::encrypted_body, return_value_policy<return_by_value>()))
310 .def_readonly("encrypted_htmlbody", &pst_item_email::encrypted_htmlbody) 310 .add_property("encrypted_htmlbody", make_getter(&pst_item_email::encrypted_htmlbody, return_value_policy<return_by_value>()))
311 .def_readonly("header", &pst_item_email::header) 311 .def_readonly("header", &pst_item_email::header)
312 .def_readonly("htmlbody", &pst_item_email::htmlbody) 312 .def_readonly("htmlbody", &pst_item_email::htmlbody)
313 .def_readonly("importance", &pst_item_email::importance) 313 .def_readonly("importance", &pst_item_email::importance)
314 .def_readonly("in_reply_to", &pst_item_email::in_reply_to) 314 .def_readonly("in_reply_to", &pst_item_email::in_reply_to)
315 .def_readonly("message_cc_me", &pst_item_email::message_cc_me) 315 .def_readonly("message_cc_me", &pst_item_email::message_cc_me)
316 .def_readonly("message_recip_me", &pst_item_email::message_recip_me) 316 .def_readonly("message_recip_me", &pst_item_email::message_recip_me)
317 .def_readonly("message_to_me", &pst_item_email::message_to_me) 317 .def_readonly("message_to_me", &pst_item_email::message_to_me)
318 .def_readonly("messageid", &pst_item_email::messageid) 318 .def_readonly("messageid", &pst_item_email::messageid)
319 .def_readonly("original_sensitivity", &pst_item_email::original_sensitivity) 319 .def_readonly("original_sensitivity", &pst_item_email::original_sensitivity)
320 .def_readonly("original_bcc", &pst_item_email::original_bcc) 320 .def_readonly("original_bcc", &pst_item_email::original_bcc)
321 .def_readonly("original_cc", &pst_item_email::original_cc) 321 .def_readonly("original_cc", &pst_item_email::original_cc)
322 .def_readonly("original_to", &pst_item_email::original_to) 322 .def_readonly("original_to", &pst_item_email::original_to)
323 .def_readonly("outlook_recipient", &pst_item_email::outlook_recipient) 323 .def_readonly("outlook_recipient", &pst_item_email::outlook_recipient)
324 .def_readonly("outlook_recipient_name", &pst_item_email::outlook_recipient_name) 324 .def_readonly("outlook_recipient_name", &pst_item_email::outlook_recipient_name)
325 .def_readonly("outlook_recipient2", &pst_item_email::outlook_recipient2) 325 .def_readonly("outlook_recipient2", &pst_item_email::outlook_recipient2)
326 .def_readonly("outlook_sender", &pst_item_email::outlook_sender) 326 .def_readonly("outlook_sender", &pst_item_email::outlook_sender)
327 .def_readonly("outlook_sender_name", &pst_item_email::outlook_sender_name) 327 .def_readonly("outlook_sender_name", &pst_item_email::outlook_sender_name)
328 .def_readonly("outlook_sender2", &pst_item_email::outlook_sender2) 328 .def_readonly("outlook_sender2", &pst_item_email::outlook_sender2)
329 .def_readonly("priority", &pst_item_email::priority) 329 .def_readonly("priority", &pst_item_email::priority)
330 .def_readonly("processed_subject", &pst_item_email::processed_subject) 330 .def_readonly("processed_subject", &pst_item_email::processed_subject)
331 .def_readonly("read_receipt", &pst_item_email::read_receipt) 331 .def_readonly("read_receipt", &pst_item_email::read_receipt)
332 .def_readonly("recip_access", &pst_item_email::recip_access) 332 .def_readonly("recip_access", &pst_item_email::recip_access)
333 .def_readonly("recip_address", &pst_item_email::recip_address) 333 .def_readonly("recip_address", &pst_item_email::recip_address)
334 .def_readonly("recip2_access", &pst_item_email::recip2_access) 334 .def_readonly("recip2_access", &pst_item_email::recip2_access)
335 .def_readonly("recip2_address", &pst_item_email::recip2_address) 335 .def_readonly("recip2_address", &pst_item_email::recip2_address)
336 .def_readonly("reply_requested", &pst_item_email::reply_requested) 336 .def_readonly("reply_requested", &pst_item_email::reply_requested)
337 .def_readonly("reply_to", &pst_item_email::reply_to) 337 .def_readonly("reply_to", &pst_item_email::reply_to)
338 .def_readonly("return_path_address", &pst_item_email::return_path_address) 338 .def_readonly("return_path_address", &pst_item_email::return_path_address)
339 .def_readonly("rtf_body_char_count", &pst_item_email::rtf_body_char_count) 339 .def_readonly("rtf_body_char_count", &pst_item_email::rtf_body_char_count)
340 .def_readonly("rtf_body_crc", &pst_item_email::rtf_body_crc) 340 .def_readonly("rtf_body_crc", &pst_item_email::rtf_body_crc)
341 .def_readonly("rtf_body_tag", &pst_item_email::rtf_body_tag) 341 .def_readonly("rtf_body_tag", &pst_item_email::rtf_body_tag)
342 .def_readonly("rtf_compressed", &pst_item_email::rtf_compressed) 342 .add_property("rtf_compressed", make_getter(&pst_item_email::rtf_compressed, return_value_policy<return_by_value>()))
343 .def_readonly("rtf_in_sync", &pst_item_email::rtf_in_sync) 343 .def_readonly("rtf_in_sync", &pst_item_email::rtf_in_sync)
344 .def_readonly("rtf_ws_prefix_count", &pst_item_email::rtf_ws_prefix_count) 344 .def_readonly("rtf_ws_prefix_count", &pst_item_email::rtf_ws_prefix_count)
345 .def_readonly("rtf_ws_trailing_count", &pst_item_email::rtf_ws_trailing_count) 345 .def_readonly("rtf_ws_trailing_count", &pst_item_email::rtf_ws_trailing_count)
346 .def_readonly("sender_access", &pst_item_email::sender_access) 346 .def_readonly("sender_access", &pst_item_email::sender_access)
347 .def_readonly("sender_address", &pst_item_email::sender_address) 347 .def_readonly("sender_address", &pst_item_email::sender_address)
348 .def_readonly("sender2_access", &pst_item_email::sender2_access) 348 .def_readonly("sender2_access", &pst_item_email::sender2_access)
349 .def_readonly("sender2_address", &pst_item_email::sender2_address) 349 .def_readonly("sender2_address", &pst_item_email::sender2_address)
350 .def_readonly("sensitivity", &pst_item_email::sensitivity) 350 .def_readonly("sensitivity", &pst_item_email::sensitivity)
351 .add_property("sent_date", make_getter(&pst_item_email::sent_date, return_value_policy<reference_existing_object>())) 351 .add_property("sent_date", make_getter(&pst_item_email::sent_date, return_value_policy<reference_existing_object>()))
352 .add_property("sentmail_folder", make_getter(&pst_item_email::sentmail_folder, return_value_policy<reference_existing_object>())) 352 .add_property("sentmail_folder", make_getter(&pst_item_email::sentmail_folder, return_value_policy<reference_existing_object>()))
353 .def_readonly("sentto_address", &pst_item_email::sentto_address) 353 .def_readonly("sentto_address", &pst_item_email::sentto_address)
354 .def_readonly("report_text", &pst_item_email::report_text) 354 .def_readonly("report_text", &pst_item_email::report_text)
355 .add_property("report_time", make_getter(&pst_item_email::report_time, return_value_policy<reference_existing_object>())) 355 .add_property("report_time", make_getter(&pst_item_email::report_time, return_value_policy<reference_existing_object>()))
356 .def_readonly("ndr_reason_code", &pst_item_email::ndr_reason_code) 356 .def_readonly("ndr_reason_code", &pst_item_email::ndr_reason_code)
357 .def_readonly("ndr_diag_code", &pst_item_email::ndr_diag_code) 357 .def_readonly("ndr_diag_code", &pst_item_email::ndr_diag_code)
358 .def_readonly("supplementary_info", &pst_item_email::supplementary_info) 358 .def_readonly("supplementary_info", &pst_item_email::supplementary_info)
359 .def_readonly("ndr_status_code", &pst_item_email::ndr_status_code) 359 .def_readonly("ndr_status_code", &pst_item_email::ndr_status_code)
360 ; 360 ;
361 361
362 class_<pst_item_folder>("pst_item_folder") 362 class_<pst_item_folder>("pst_item_folder")
363 .def_readonly("item_count", &pst_item_folder::item_count) 363 .def_readonly("item_count", &pst_item_folder::item_count)
364 .def_readonly("unseen_item_count", &pst_item_folder::unseen_item_count) 364 .def_readonly("unseen_item_count", &pst_item_folder::unseen_item_count)
365 .def_readonly("assoc_count", &pst_item_folder::assoc_count) 365 .def_readonly("assoc_count", &pst_item_folder::assoc_count)
366 .def_readonly("subfolder", &pst_item_folder::subfolder) 366 .def_readonly("subfolder", &pst_item_folder::subfolder)
367 ; 367 ;
368 368
369 class_<pst_item_message_store>("pst_item_message_store") 369 class_<pst_item_message_store>("pst_item_message_store")
370 .add_property("top_of_personal_folder", make_getter(&pst_item_message_store::top_of_personal_folder, return_value_policy<reference_existing_object>())) 370 .add_property("top_of_personal_folder", make_getter(&pst_item_message_store::top_of_personal_folder, return_value_policy<reference_existing_object>()))
371 .add_property("default_outbox_folder", make_getter(&pst_item_message_store::default_outbox_folder, return_value_policy<reference_existing_object>())) 371 .add_property("default_outbox_folder", make_getter(&pst_item_message_store::default_outbox_folder, return_value_policy<reference_existing_object>()))
373 .add_property("sent_items_folder", make_getter(&pst_item_message_store::sent_items_folder, return_value_policy<reference_existing_object>())) 373 .add_property("sent_items_folder", make_getter(&pst_item_message_store::sent_items_folder, return_value_policy<reference_existing_object>()))
374 .add_property("user_views_folder", make_getter(&pst_item_message_store::user_views_folder, return_value_policy<reference_existing_object>())) 374 .add_property("user_views_folder", make_getter(&pst_item_message_store::user_views_folder, return_value_policy<reference_existing_object>()))
375 .add_property("common_view_folder", make_getter(&pst_item_message_store::common_view_folder, return_value_policy<reference_existing_object>())) 375 .add_property("common_view_folder", make_getter(&pst_item_message_store::common_view_folder, return_value_policy<reference_existing_object>()))
376 .add_property("search_root_folder", make_getter(&pst_item_message_store::search_root_folder, return_value_policy<reference_existing_object>())) 376 .add_property("search_root_folder", make_getter(&pst_item_message_store::search_root_folder, return_value_policy<reference_existing_object>()))
377 .add_property("top_of_folder", make_getter(&pst_item_message_store::top_of_folder, return_value_policy<reference_existing_object>())) 377 .add_property("top_of_folder", make_getter(&pst_item_message_store::top_of_folder, return_value_policy<reference_existing_object>()))
378 .def_readonly("valid_mask", &pst_item_message_store::valid_mask) 378 .def_readonly("valid_mask", &pst_item_message_store::valid_mask)
379 .def_readonly("pwd_chksum", &pst_item_message_store::pwd_chksum) 379 .def_readonly("pwd_chksum", &pst_item_message_store::pwd_chksum)
380 ; 380 ;
381 381
382 class_<pst_item_contact>("pst_item_contact") 382 class_<pst_item_contact>("pst_item_contact")
383 .def_readonly("account_name", &pst_item_contact::account_name) 383 .def_readonly("account_name", &pst_item_contact::account_name)
384 .def_readonly("address1", &pst_item_contact::address1) 384 .def_readonly("address1", &pst_item_contact::address1)
385 .def_readonly("address1a", &pst_item_contact::address1a) 385 .def_readonly("address1a", &pst_item_contact::address1a)
386 .def_readonly("address1_desc", &pst_item_contact::address1_desc) 386 .def_readonly("address1_desc", &pst_item_contact::address1_desc)
387 .def_readonly("address1_transport", &pst_item_contact::address1_transport) 387 .def_readonly("address1_transport", &pst_item_contact::address1_transport)
388 .def_readonly("address2", &pst_item_contact::address2) 388 .def_readonly("address2", &pst_item_contact::address2)
389 .def_readonly("address2a", &pst_item_contact::address2a) 389 .def_readonly("address2a", &pst_item_contact::address2a)
390 .def_readonly("address2_desc", &pst_item_contact::address2_desc) 390 .def_readonly("address2_desc", &pst_item_contact::address2_desc)
391 .def_readonly("address2_transport", &pst_item_contact::address2_transport) 391 .def_readonly("address2_transport", &pst_item_contact::address2_transport)
392 .def_readonly("address3", &pst_item_contact::address3) 392 .def_readonly("address3", &pst_item_contact::address3)
393 .def_readonly("address3a", &pst_item_contact::address3a) 393 .def_readonly("address3a", &pst_item_contact::address3a)
394 .def_readonly("address3_desc", &pst_item_contact::address3_desc) 394 .def_readonly("address3_desc", &pst_item_contact::address3_desc)
395 .def_readonly("address3_transport", &pst_item_contact::address3_transport) 395 .def_readonly("address3_transport", &pst_item_contact::address3_transport)
396 .def_readonly("assistant_name", &pst_item_contact::assistant_name) 396 .def_readonly("assistant_name", &pst_item_contact::assistant_name)
397 .def_readonly("assistant_phone", &pst_item_contact::assistant_phone) 397 .def_readonly("assistant_phone", &pst_item_contact::assistant_phone)
398 .def_readonly("billing_information", &pst_item_contact::billing_information) 398 .def_readonly("billing_information", &pst_item_contact::billing_information)
399 .add_property("birthday", make_getter(&pst_item_contact::birthday, return_value_policy<reference_existing_object>())) 399 .add_property("birthday", make_getter(&pst_item_contact::birthday, return_value_policy<reference_existing_object>()))
400 .def_readonly("business_address", &pst_item_contact::business_address) 400 .def_readonly("business_address", &pst_item_contact::business_address)
401 .def_readonly("business_city", &pst_item_contact::business_city) 401 .def_readonly("business_city", &pst_item_contact::business_city)
402 .def_readonly("business_country", &pst_item_contact::business_country) 402 .def_readonly("business_country", &pst_item_contact::business_country)
403 .def_readonly("business_fax", &pst_item_contact::business_fax) 403 .def_readonly("business_fax", &pst_item_contact::business_fax)
404 .def_readonly("business_homepage", &pst_item_contact::business_homepage) 404 .def_readonly("business_homepage", &pst_item_contact::business_homepage)
405 .def_readonly("business_phone", &pst_item_contact::business_phone) 405 .def_readonly("business_phone", &pst_item_contact::business_phone)
406 .def_readonly("business_phone2", &pst_item_contact::business_phone2) 406 .def_readonly("business_phone2", &pst_item_contact::business_phone2)
407 .def_readonly("business_po_box", &pst_item_contact::business_po_box) 407 .def_readonly("business_po_box", &pst_item_contact::business_po_box)
408 .def_readonly("business_postal_code", &pst_item_contact::business_postal_code) 408 .def_readonly("business_postal_code", &pst_item_contact::business_postal_code)
409 .def_readonly("business_state", &pst_item_contact::business_state) 409 .def_readonly("business_state", &pst_item_contact::business_state)
410 .def_readonly("business_street", &pst_item_contact::business_street) 410 .def_readonly("business_street", &pst_item_contact::business_street)
411 .def_readonly("callback_phone", &pst_item_contact::callback_phone) 411 .def_readonly("callback_phone", &pst_item_contact::callback_phone)
412 .def_readonly("car_phone", &pst_item_contact::car_phone) 412 .def_readonly("car_phone", &pst_item_contact::car_phone)
413 .def_readonly("company_main_phone", &pst_item_contact::company_main_phone) 413 .def_readonly("company_main_phone", &pst_item_contact::company_main_phone)
414 .def_readonly("company_name", &pst_item_contact::company_name) 414 .def_readonly("company_name", &pst_item_contact::company_name)
415 .def_readonly("computer_name", &pst_item_contact::computer_name) 415 .def_readonly("computer_name", &pst_item_contact::computer_name)
416 .def_readonly("customer_id", &pst_item_contact::customer_id) 416 .def_readonly("customer_id", &pst_item_contact::customer_id)
417 .def_readonly("def_postal_address", &pst_item_contact::def_postal_address) 417 .def_readonly("def_postal_address", &pst_item_contact::def_postal_address)
418 .def_readonly("department", &pst_item_contact::department) 418 .def_readonly("department", &pst_item_contact::department)
419 .def_readonly("display_name_prefix", &pst_item_contact::display_name_prefix) 419 .def_readonly("display_name_prefix", &pst_item_contact::display_name_prefix)
420 .def_readonly("first_name", &pst_item_contact::first_name) 420 .def_readonly("first_name", &pst_item_contact::first_name)
421 .def_readonly("followup", &pst_item_contact::followup) 421 .def_readonly("followup", &pst_item_contact::followup)
422 .def_readonly("free_busy_address", &pst_item_contact::free_busy_address) 422 .def_readonly("free_busy_address", &pst_item_contact::free_busy_address)
423 .def_readonly("ftp_site", &pst_item_contact::ftp_site) 423 .def_readonly("ftp_site", &pst_item_contact::ftp_site)
424 .def_readonly("fullname", &pst_item_contact::fullname) 424 .def_readonly("fullname", &pst_item_contact::fullname)
425 .def_readonly("gender", &pst_item_contact::gender) 425 .def_readonly("gender", &pst_item_contact::gender)
426 .def_readonly("gov_id", &pst_item_contact::gov_id) 426 .def_readonly("gov_id", &pst_item_contact::gov_id)
427 .def_readonly("hobbies", &pst_item_contact::hobbies) 427 .def_readonly("hobbies", &pst_item_contact::hobbies)
428 .def_readonly("home_address", &pst_item_contact::home_address) 428 .def_readonly("home_address", &pst_item_contact::home_address)
429 .def_readonly("home_city", &pst_item_contact::home_city) 429 .def_readonly("home_city", &pst_item_contact::home_city)
430 .def_readonly("home_country", &pst_item_contact::home_country) 430 .def_readonly("home_country", &pst_item_contact::home_country)
431 .def_readonly("home_fax", &pst_item_contact::home_fax) 431 .def_readonly("home_fax", &pst_item_contact::home_fax)
432 .def_readonly("home_phone", &pst_item_contact::home_phone) 432 .def_readonly("home_phone", &pst_item_contact::home_phone)
433 .def_readonly("home_phone2", &pst_item_contact::home_phone2) 433 .def_readonly("home_phone2", &pst_item_contact::home_phone2)
434 .def_readonly("home_po_box", &pst_item_contact::home_po_box) 434 .def_readonly("home_po_box", &pst_item_contact::home_po_box)
435 .def_readonly("home_postal_code", &pst_item_contact::home_postal_code) 435 .def_readonly("home_postal_code", &pst_item_contact::home_postal_code)
436 .def_readonly("home_state", &pst_item_contact::home_state) 436 .def_readonly("home_state", &pst_item_contact::home_state)
437 .def_readonly("home_street", &pst_item_contact::home_street) 437 .def_readonly("home_street", &pst_item_contact::home_street)
438 .def_readonly("initials", &pst_item_contact::initials) 438 .def_readonly("initials", &pst_item_contact::initials)
439 .def_readonly("isdn_phone", &pst_item_contact::isdn_phone) 439 .def_readonly("isdn_phone", &pst_item_contact::isdn_phone)
440 .def_readonly("job_title", &pst_item_contact::job_title) 440 .def_readonly("job_title", &pst_item_contact::job_title)
441 .def_readonly("keyword", &pst_item_contact::keyword) 441 .def_readonly("keyword", &pst_item_contact::keyword)
442 .def_readonly("language", &pst_item_contact::language) 442 .def_readonly("language", &pst_item_contact::language)
443 .def_readonly("location", &pst_item_contact::location) 443 .def_readonly("location", &pst_item_contact::location)
444 .def_readonly("mail_permission", &pst_item_contact::mail_permission) 444 .def_readonly("mail_permission", &pst_item_contact::mail_permission)
445 .def_readonly("manager_name", &pst_item_contact::manager_name) 445 .def_readonly("manager_name", &pst_item_contact::manager_name)
446 .def_readonly("middle_name", &pst_item_contact::middle_name) 446 .def_readonly("middle_name", &pst_item_contact::middle_name)
447 .def_readonly("mileage", &pst_item_contact::mileage) 447 .def_readonly("mileage", &pst_item_contact::mileage)
448 .def_readonly("mobile_phone", &pst_item_contact::mobile_phone) 448 .def_readonly("mobile_phone", &pst_item_contact::mobile_phone)
449 .def_readonly("nickname", &pst_item_contact::nickname) 449 .def_readonly("nickname", &pst_item_contact::nickname)
450 .def_readonly("office_loc", &pst_item_contact::office_loc) 450 .def_readonly("office_loc", &pst_item_contact::office_loc)
451 .def_readonly("common_name", &pst_item_contact::common_name) 451 .def_readonly("common_name", &pst_item_contact::common_name)
452 .def_readonly("org_id", &pst_item_contact::org_id) 452 .def_readonly("org_id", &pst_item_contact::org_id)
453 .def_readonly("other_address", &pst_item_contact::other_address) 453 .def_readonly("other_address", &pst_item_contact::other_address)
454 .def_readonly("other_city", &pst_item_contact::other_city) 454 .def_readonly("other_city", &pst_item_contact::other_city)
455 .def_readonly("other_country", &pst_item_contact::other_country) 455 .def_readonly("other_country", &pst_item_contact::other_country)
456 .def_readonly("other_phone", &pst_item_contact::other_phone) 456 .def_readonly("other_phone", &pst_item_contact::other_phone)
457 .def_readonly("other_po_box", &pst_item_contact::other_po_box) 457 .def_readonly("other_po_box", &pst_item_contact::other_po_box)
458 .def_readonly("other_postal_code", &pst_item_contact::other_postal_code) 458 .def_readonly("other_postal_code", &pst_item_contact::other_postal_code)
459 .def_readonly("other_state", &pst_item_contact::other_state) 459 .def_readonly("other_state", &pst_item_contact::other_state)
460 .def_readonly("other_street", &pst_item_contact::other_street) 460 .def_readonly("other_street", &pst_item_contact::other_street)
461 .def_readonly("pager_phone", &pst_item_contact::pager_phone) 461 .def_readonly("pager_phone", &pst_item_contact::pager_phone)
462 .def_readonly("personal_homepage", &pst_item_contact::personal_homepage) 462 .def_readonly("personal_homepage", &pst_item_contact::personal_homepage)
463 .def_readonly("pref_name", &pst_item_contact::pref_name) 463 .def_readonly("pref_name", &pst_item_contact::pref_name)
464 .def_readonly("primary_fax", &pst_item_contact::primary_fax) 464 .def_readonly("primary_fax", &pst_item_contact::primary_fax)
465 .def_readonly("primary_phone", &pst_item_contact::primary_phone) 465 .def_readonly("primary_phone", &pst_item_contact::primary_phone)
466 .def_readonly("profession", &pst_item_contact::profession) 466 .def_readonly("profession", &pst_item_contact::profession)
467 .def_readonly("radio_phone", &pst_item_contact::radio_phone) 467 .def_readonly("radio_phone", &pst_item_contact::radio_phone)
468 .def_readonly("rich_text", &pst_item_contact::rich_text) 468 .def_readonly("rich_text", &pst_item_contact::rich_text)
469 .def_readonly("spouse_name", &pst_item_contact::spouse_name) 469 .def_readonly("spouse_name", &pst_item_contact::spouse_name)
470 .def_readonly("suffix", &pst_item_contact::suffix) 470 .def_readonly("suffix", &pst_item_contact::suffix)
471 .def_readonly("surname", &pst_item_contact::surname) 471 .def_readonly("surname", &pst_item_contact::surname)
472 .def_readonly("telex", &pst_item_contact::telex) 472 .def_readonly("telex", &pst_item_contact::telex)
473 .def_readonly("transmittable_display_name", &pst_item_contact::transmittable_display_name) 473 .def_readonly("transmittable_display_name", &pst_item_contact::transmittable_display_name)
474 .def_readonly("ttytdd_phone", &pst_item_contact::ttytdd_phone) 474 .def_readonly("ttytdd_phone", &pst_item_contact::ttytdd_phone)
475 .add_property("wedding_anniversary", make_getter(&pst_item_contact::wedding_anniversary, return_value_policy<reference_existing_object>())) 475 .add_property("wedding_anniversary", make_getter(&pst_item_contact::wedding_anniversary, return_value_policy<reference_existing_object>()))
476 .def_readonly("work_address_street", &pst_item_contact::work_address_street) 476 .def_readonly("work_address_street", &pst_item_contact::work_address_street)
477 .def_readonly("work_address_city", &pst_item_contact::work_address_city) 477 .def_readonly("work_address_city", &pst_item_contact::work_address_city)
478 .def_readonly("work_address_state", &pst_item_contact::work_address_state) 478 .def_readonly("work_address_state", &pst_item_contact::work_address_state)
479 .def_readonly("work_address_postalcode", &pst_item_contact::work_address_postalcode) 479 .def_readonly("work_address_postalcode", &pst_item_contact::work_address_postalcode)
480 .def_readonly("work_address_country", &pst_item_contact::work_address_country) 480 .def_readonly("work_address_country", &pst_item_contact::work_address_country)
481 .def_readonly("work_address_postofficebox", &pst_item_contact::work_address_postofficebox) 481 .def_readonly("work_address_postofficebox", &pst_item_contact::work_address_postofficebox)
482 ; 482 ;
483 483
484 class_<pst_item_attach>("pst_item_attach") 484 class_<pst_item_attach>("pst_item_attach")
485 .def_readonly("filename1", &pst_item_attach::filename1) 485 .def_readonly("filename1", &pst_item_attach::filename1)
486 .def_readonly("filename2", &pst_item_attach::filename2) 486 .def_readonly("filename2", &pst_item_attach::filename2)
487 .def_readonly("mimetype", &pst_item_attach::mimetype) 487 .def_readonly("mimetype", &pst_item_attach::mimetype)
488 .def_readonly("data", &pst_item_attach::data) 488 .add_property("data", make_getter(&pst_item_attach::data, return_value_policy<return_by_value>()))
489 .def_readonly("id2_val", &pst_item_attach::id2_val) 489 .def_readonly("id2_val", &pst_item_attach::id2_val)
490 .def_readonly("i_id", &pst_item_attach::i_id) 490 .def_readonly("i_id", &pst_item_attach::i_id)
491 .add_property("id2_head", make_getter(&pst_item_attach::id2_head, return_value_policy<reference_existing_object>())) 491 .add_property("id2_head", make_getter(&pst_item_attach::id2_head, return_value_policy<reference_existing_object>()))
492 .def_readonly("method", &pst_item_attach::method) 492 .def_readonly("method", &pst_item_attach::method)
493 .def_readonly("position", &pst_item_attach::position) 493 .def_readonly("position", &pst_item_attach::position)
494 .def_readonly("sequence", &pst_item_attach::sequence) 494 .def_readonly("sequence", &pst_item_attach::sequence)
495 .add_property("next", make_getter(&pst_item_attach::next, return_value_policy<reference_existing_object>())) 495 .add_property("next", make_getter(&pst_item_attach::next, return_value_policy<reference_existing_object>()))
496 ; 496 ;
497 497
498 class_<pst_item_extra_field>("pst_item_extra_field") 498 class_<pst_item_extra_field>("pst_item_extra_field")
499 .def_readonly("field_name", &pst_item_extra_field::field_name) 499 .def_readonly("field_name", &pst_item_extra_field::field_name)
500 .def_readonly("value", &pst_item_extra_field::value) 500 .def_readonly("value", &pst_item_extra_field::value)
501 .add_property("next", make_getter(&pst_item_extra_field::next, return_value_policy<reference_existing_object>())) 501 .add_property("next", make_getter(&pst_item_extra_field::next, return_value_policy<reference_existing_object>()))
502 ; 502 ;
503 503
504 class_<pst_item_journal>("pst_item_journal") 504 class_<pst_item_journal>("pst_item_journal")
505 .add_property("start", make_getter(&pst_item_journal::start, return_value_policy<reference_existing_object>())) 505 .add_property("start", make_getter(&pst_item_journal::start, return_value_policy<reference_existing_object>()))
506 .add_property("end", make_getter(&pst_item_journal::end, return_value_policy<reference_existing_object>())) 506 .add_property("end", make_getter(&pst_item_journal::end, return_value_policy<reference_existing_object>()))
507 .def_readonly("type", &pst_item_journal::type) 507 .def_readonly("type", &pst_item_journal::type)
508 .def_readonly("description", &pst_item_journal::description) 508 .def_readonly("description", &pst_item_journal::description)
509 ; 509 ;
510 510
511 class_<pst_recurrence>("pst_recurrence") 511 class_<pst_recurrence>("pst_recurrence")
512 .def_readonly("signature", &pst_recurrence::signature) 512 .def_readonly("signature", &pst_recurrence::signature)
513 .def_readonly("type", &pst_recurrence::type) 513 .def_readonly("type", &pst_recurrence::type)
514 .def_readonly("sub_type", &pst_recurrence::sub_type) 514 .def_readonly("sub_type", &pst_recurrence::sub_type)
515 .def_readonly("parm1", &pst_recurrence::parm1) 515 .def_readonly("parm1", &pst_recurrence::parm1)
516 .def_readonly("parm2", &pst_recurrence::parm2) 516 .def_readonly("parm2", &pst_recurrence::parm2)
517 .def_readonly("parm3", &pst_recurrence::parm3) 517 .def_readonly("parm3", &pst_recurrence::parm3)
518 .def_readonly("parm4", &pst_recurrence::parm4) 518 .def_readonly("parm4", &pst_recurrence::parm4)
519 .def_readonly("parm5", &pst_recurrence::parm5) 519 .def_readonly("parm5", &pst_recurrence::parm5)
520 .def_readonly("termination", &pst_recurrence::termination) 520 .def_readonly("termination", &pst_recurrence::termination)
521 .def_readonly("interval", &pst_recurrence::interval) 521 .def_readonly("interval", &pst_recurrence::interval)
522 .def_readonly("bydaymask", &pst_recurrence::bydaymask) 522 .def_readonly("bydaymask", &pst_recurrence::bydaymask)
523 .def_readonly("dayofmonth", &pst_recurrence::dayofmonth) 523 .def_readonly("dayofmonth", &pst_recurrence::dayofmonth)
524 .def_readonly("monthofyear", &pst_recurrence::monthofyear) 524 .def_readonly("monthofyear", &pst_recurrence::monthofyear)
525 .def_readonly("position", &pst_recurrence::position) 525 .def_readonly("position", &pst_recurrence::position)
526 .def_readonly("count", &pst_recurrence::count) 526 .def_readonly("count", &pst_recurrence::count)
527 ; 527 ;
528 528
529 class_<pst_item_appointment>("pst_item_appointment") 529 class_<pst_item_appointment>("pst_item_appointment")
530 .add_property("start", make_getter(&pst_item_appointment::start, return_value_policy<reference_existing_object>())) 530 .add_property("start", make_getter(&pst_item_appointment::start, return_value_policy<reference_existing_object>()))
531 .add_property("end", make_getter(&pst_item_appointment::end, return_value_policy<reference_existing_object>())) 531 .add_property("end", make_getter(&pst_item_appointment::end, return_value_policy<reference_existing_object>()))
532 .def_readonly("location", &pst_item_appointment::location) 532 .def_readonly("location", &pst_item_appointment::location)
533 .def_readonly("alarm", &pst_item_appointment::alarm) 533 .def_readonly("alarm", &pst_item_appointment::alarm)
534 .add_property("reminder", make_getter(&pst_item_appointment::reminder, return_value_policy<reference_existing_object>())) 534 .add_property("reminder", make_getter(&pst_item_appointment::reminder, return_value_policy<reference_existing_object>()))
535 .def_readonly("alarm_minutes", &pst_item_appointment::alarm_minutes) 535 .def_readonly("alarm_minutes", &pst_item_appointment::alarm_minutes)
536 .def_readonly("alarm_filename", &pst_item_appointment::alarm_filename) 536 .def_readonly("alarm_filename", &pst_item_appointment::alarm_filename)
537 .def_readonly("timezonestring", &pst_item_appointment::timezonestring) 537 .def_readonly("timezonestring", &pst_item_appointment::timezonestring)
538 .def_readonly("showas", &pst_item_appointment::showas) 538 .def_readonly("showas", &pst_item_appointment::showas)
539 .def_readonly("label", &pst_item_appointment::label) 539 .def_readonly("label", &pst_item_appointment::label)
540 .def_readonly("all_day", &pst_item_appointment::all_day) 540 .def_readonly("all_day", &pst_item_appointment::all_day)
541 .def_readonly("is_recurring", &pst_item_appointment::is_recurring) 541 .def_readonly("is_recurring", &pst_item_appointment::is_recurring)
542 .def_readonly("recurrence_type", &pst_item_appointment::recurrence_type) 542 .def_readonly("recurrence_type", &pst_item_appointment::recurrence_type)
543 .def_readonly("recurrence_description", &pst_item_appointment::recurrence_description) 543 .def_readonly("recurrence_description", &pst_item_appointment::recurrence_description)
544 .def_readonly("recurrence_data", &pst_item_appointment::recurrence_data) 544 .add_property("recurrence_data", make_getter(&pst_item_appointment::recurrence_data, return_value_policy<return_by_value>()))
545 .add_property("recurrence_start", make_getter(&pst_item_appointment::recurrence_start, return_value_policy<reference_existing_object>())) 545 .add_property("recurrence_start", make_getter(&pst_item_appointment::recurrence_start, return_value_policy<reference_existing_object>()))
546 .add_property("recurrence_end", make_getter(&pst_item_appointment::recurrence_end, return_value_policy<reference_existing_object>())) 546 .add_property("recurrence_end", make_getter(&pst_item_appointment::recurrence_end, return_value_policy<reference_existing_object>()))
547 ; 547 ;
548 548
549 class_<pst_item>("pst_item") 549 class_<pst_item>("pst_item")
550 .add_property("email", make_getter(&pst_item::email, return_value_policy<reference_existing_object>())) 550 .add_property("email", make_getter(&pst_item::email, return_value_policy<reference_existing_object>()))
551 .add_property("folder", make_getter(&pst_item::folder, return_value_policy<reference_existing_object>())) 551 .add_property("folder", make_getter(&pst_item::folder, return_value_policy<reference_existing_object>()))
552 .add_property("contact", make_getter(&pst_item::contact, return_value_policy<reference_existing_object>())) 552 .add_property("contact", make_getter(&pst_item::contact, return_value_policy<reference_existing_object>()))
553 .add_property("attach", make_getter(&pst_item::attach, return_value_policy<reference_existing_object>())) 553 .add_property("attach", make_getter(&pst_item::attach, return_value_policy<reference_existing_object>()))
554 .add_property("message_store", make_getter(&pst_item::message_store, return_value_policy<reference_existing_object>())) 554 .add_property("message_store", make_getter(&pst_item::message_store, return_value_policy<reference_existing_object>()))
555 .add_property("extra_fields", make_getter(&pst_item::extra_fields, return_value_policy<reference_existing_object>())) 555 .add_property("extra_fields", make_getter(&pst_item::extra_fields, return_value_policy<reference_existing_object>()))
556 .add_property("journal", make_getter(&pst_item::journal, return_value_policy<reference_existing_object>())) 556 .add_property("journal", make_getter(&pst_item::journal, return_value_policy<reference_existing_object>()))
557 .add_property("appointment", make_getter(&pst_item::appointment, return_value_policy<reference_existing_object>())) 557 .add_property("appointment", make_getter(&pst_item::appointment, return_value_policy<reference_existing_object>()))
558 .def_readonly("block_id", &pst_item::block_id) 558 .def_readonly("block_id", &pst_item::block_id)
559 .def_readonly("type", &pst_item::type) 559 .def_readonly("type", &pst_item::type)
560 .def_readonly("ascii_type", &pst_item::ascii_type) 560 .def_readonly("ascii_type", &pst_item::ascii_type)
561 .def_readonly("flags", &pst_item::flags) 561 .def_readonly("flags", &pst_item::flags)
562 .def_readonly("file_as", &pst_item::file_as) 562 .def_readonly("file_as", &pst_item::file_as)
563 .def_readonly("comment", &pst_item::comment) 563 .def_readonly("comment", &pst_item::comment)
564 .def_readonly("body_charset", &pst_item::body_charset) 564 .def_readonly("body_charset", &pst_item::body_charset)
565 .def_readonly("body", &pst_item::body) 565 .def_readonly("body", &pst_item::body)
566 .def_readonly("subject", &pst_item::subject) 566 .def_readonly("subject", &pst_item::subject)
567 .def_readonly("internet_cpid", &pst_item::internet_cpid) 567 .def_readonly("internet_cpid", &pst_item::internet_cpid)
568 .def_readonly("message_codepage", &pst_item::message_codepage) 568 .def_readonly("message_codepage", &pst_item::message_codepage)
569 .def_readonly("message_size", &pst_item::message_size) 569 .def_readonly("message_size", &pst_item::message_size)
570 .def_readonly("outlook_version", &pst_item::outlook_version) 570 .def_readonly("outlook_version", &pst_item::outlook_version)
571 .def_readonly("record_key", &pst_item::record_key) 571 .add_property("record_key", make_getter(&pst_item::record_key, return_value_policy<return_by_value>()))
572 .def_readonly("predecessor_change", &pst_item::predecessor_change) 572 .add_property("predecessor_change", make_getter(&pst_item::predecessor_change, return_value_policy<return_by_value>()))
573 .def_readonly("response_requested", &pst_item::response_requested) 573 .def_readonly("response_requested", &pst_item::response_requested)
574 .add_property("create_date", make_getter(&pst_item::create_date, return_value_policy<reference_existing_object>())) 574 .add_property("create_date", make_getter(&pst_item::create_date, return_value_policy<reference_existing_object>()))
575 .add_property("modify_date", make_getter(&pst_item::modify_date, return_value_policy<reference_existing_object>())) 575 .add_property("modify_date", make_getter(&pst_item::modify_date, return_value_policy<reference_existing_object>()))
576 .def_readonly("private_member", &pst_item::private_member) 576 .def_readonly("private_member", &pst_item::private_member)
577 ; 577 ;
578 578
579 class_<pst_x_attrib_ll>("pst_x_attrib_ll") 579 class_<pst_x_attrib_ll>("pst_x_attrib_ll")
580 .def_readonly("mytype", &pst_x_attrib_ll::mytype) 580 .def_readonly("mytype", &pst_x_attrib_ll::mytype)
581 .def_readonly("map", &pst_x_attrib_ll::map) 581 .def_readonly("map", &pst_x_attrib_ll::map)
582 .def_readonly("data", &pst_x_attrib_ll::data) 582 .def_readonly("data", &pst_x_attrib_ll::data)
583 .add_property("next", make_getter(&pst_x_attrib_ll::next, return_value_policy<reference_existing_object>())) 583 .add_property("next", make_getter(&pst_x_attrib_ll::next, return_value_policy<reference_existing_object>()))
584 ; 584 ;
585 585
586 class_<pst_file>("pst_file") 586 class_<pst_file>("pst_file")
587 .def_readonly("cwd", &pst_file::cwd) 587 .def_readonly("cwd", &pst_file::cwd)
588 .def_readonly("fname", &pst_file::fname) 588 .def_readonly("fname", &pst_file::fname)
589 .add_property("i_head", make_getter(&pst_file::i_head, return_value_policy<reference_existing_object>())) 589 .add_property("i_head", make_getter(&pst_file::i_head, return_value_policy<reference_existing_object>()))
590 .add_property("i_tail", make_getter(&pst_file::i_tail, return_value_policy<reference_existing_object>())) 590 .add_property("i_tail", make_getter(&pst_file::i_tail, return_value_policy<reference_existing_object>()))
591 .add_property("d_head", make_getter(&pst_file::d_head, return_value_policy<reference_existing_object>())) 591 .add_property("d_head", make_getter(&pst_file::d_head, return_value_policy<reference_existing_object>()))
592 .add_property("d_tail", make_getter(&pst_file::d_tail, return_value_policy<reference_existing_object>())) 592 .add_property("d_tail", make_getter(&pst_file::d_tail, return_value_policy<reference_existing_object>()))
593 .add_property("x_head", make_getter(&pst_file::x_head, return_value_policy<reference_existing_object>())) 593 .add_property("x_head", make_getter(&pst_file::x_head, return_value_policy<reference_existing_object>()))
594 .def_readonly("do_read64", &pst_file::do_read64) 594 .def_readonly("do_read64", &pst_file::do_read64)
595 .def_readonly("index1", &pst_file::index1) 595 .def_readonly("index1", &pst_file::index1)
596 .def_readonly("index1_back", &pst_file::index1_back) 596 .def_readonly("index1_back", &pst_file::index1_back)
597 .def_readonly("index2", &pst_file::index2) 597 .def_readonly("index2", &pst_file::index2)
598 .def_readonly("index2_back", &pst_file::index2_back) 598 .def_readonly("index2_back", &pst_file::index2_back)
599 .def_readonly("size", &pst_file::size) 599 .def_readonly("size", &pst_file::size)
600 .def_readonly("encryption", &pst_file::encryption) 600 .def_readonly("encryption", &pst_file::encryption)
601 .def_readonly("ind_type", &pst_file::ind_type) 601 .def_readonly("ind_type", &pst_file::ind_type)
602 ; 602 ;
603 603
604 class_<pst>("pst", init<string,string>()) 604 class_<pst>("pst", init<string,string>())
605 .def("pst_getTopOfFolders", &pst::pst_getTopOfFolders, return_value_policy<reference_existing_object>()) 605 .def("pst_getTopOfFolders", &pst::pst_getTopOfFolders, return_value_policy<reference_existing_object>())
606 .def("pst_attach_to_mem", &pst::pst_attach_to_mem) 606 .def("pst_attach_to_mem", &pst::pst_attach_to_mem)
607 .def("pst_attach_to_file", &pst::pst_attach_to_file) 607 .def("pst_attach_to_file", &pst::pst_attach_to_file)
608 .def("pst_attach_to_file_base64", &pst::pst_attach_to_file_base64) 608 .def("pst_attach_to_file_base64", &pst::pst_attach_to_file_base64)
609 .def("pst_getNextDptr", &pst::pst_getNextDptr, return_value_policy<reference_existing_object>()) 609 .def("pst_getNextDptr", &pst::pst_getNextDptr, return_value_policy<reference_existing_object>())
610 .def("pst_parse_item", &pst::pst_parse_item, return_value_policy<reference_existing_object>()) 610 .def("pst_parse_item", &pst::pst_parse_item, return_value_policy<reference_existing_object>())
611 .def("pst_freeItem", &pst::pst_freeItem) 611 .def("pst_freeItem", &pst::pst_freeItem)
612 .def("pst_getID", &pst::pst_getID, return_value_policy<reference_existing_object>()) 612 .def("pst_getID", &pst::pst_getID, return_value_policy<reference_existing_object>())
613 .def("pst_ff_getIDblock_dec", &pst::pst_ff_getIDblock_dec) 613 .def("pst_ff_getIDblock_dec", &pst::pst_ff_getIDblock_dec)
614 .def("pst_rfc2426_escape", &pst::pst_rfc2426_escape) 614 .def("pst_rfc2426_escape", &pst::pst_rfc2426_escape)
615 .def("pst_rfc2425_datetime_format", &pst::pst_rfc2425_datetime_format) 615 .def("pst_rfc2425_datetime_format", &pst::pst_rfc2425_datetime_format)
616 .def("pst_rfc2445_datetime_format", &pst::pst_rfc2445_datetime_format) 616 .def("pst_rfc2445_datetime_format", &pst::pst_rfc2445_datetime_format)
617 .def("pst_default_charset", &pst::pst_default_charset) 617 .def("pst_default_charset", &pst::pst_default_charset)
618 .def("pst_convert_utf8_null", &pst::pst_convert_utf8_null) 618 .def("pst_convert_utf8_null", &pst::pst_convert_utf8_null)
619 .def("pst_convert_utf8", &pst::pst_convert_utf8) 619 .def("pst_convert_utf8", &pst::pst_convert_utf8)
620 .def("ppst_open_file", &pst::ppst_open_file, return_value_policy<reference_existing_object>()) 620 .def("ppst_open_file", &pst::ppst_open_file, return_value_policy<reference_existing_object>())
621 .def("ppst_close_file", &pst::ppst_close_file) 621 .def("ppst_close_file", &pst::ppst_close_file)
622 ; 622 ;
623 } 623 }
624 624
625 625