Commit Graph

95 Commits

Author SHA1 Message Date
Nikias Bassen ad1a95e962 Add new PLIST_IS_* helper macros for the different plist node types
Instead of e.g.:
    if (plist_get_node_type(plist) == PLIST_STRING)
you can now write:
    if (PLIST_IS_STRING(plist))
2016-11-10 02:14:59 +01:00
Nikias Bassen 392135c7db Remove libxml2 dependency in favor of custom XML parsing 2016-10-22 04:39:47 +02:00
Christophe Fergeau 11d639f92f Implement plist_from_memory()
Rather than having everyone reimplement binary/XML plist detection by
looking at the first bytes of the plist content, it's better to do this
detection in libplist and hide that internal detail from library users.
2016-05-12 02:55:01 +02:00
Christophe Fergeau 449e27bf75 Add plist_is_binary()
It can be useful if one needs to know what type of plist a memory buffer
contains.
2016-05-12 02:52:50 +02:00
Frederik Carlier 6ab7e301f1 Move libxml cleanup code to a plist_cleanup method 2016-04-20 14:18:46 +02:00
Nikias Bassen 62813daf2c Avoid exporting non-public symbols 2014-10-03 15:39:47 +02:00
Nikias Bassen eab599c151 plist.h: Move deprecation marker before function declaration to make non-gcc/clang compilers happy 2014-09-26 22:35:38 +02:00
Nikias Bassen 7377026506 C++: Add missing cstddef include to Node.h 2014-09-26 01:22:47 +02:00
Aaron Burghardt b6c43e901c Added const to Array.GetSize(), and to 3 Node methods. 2014-09-20 00:10:46 +02:00
Aaron Burghardt ccd6f05fe1 Change Clone() to be const, which required constructors with const references and a const GetValue(). 2014-09-20 00:10:46 +02:00
Nikias Bassen 83650b30ad Properly rename header guards according to C++ standard 2014-08-06 01:42:46 +02:00
Martin Szulecki 1317925ffc Move deprecation marker also for C++ API for better compiler output 2014-05-21 14:42:49 +02:00
Nikias Bassen 135164ae06 Move deprecation marker after the function declaration for better compiler output 2014-05-20 23:43:36 +02:00
Nikias Bassen a9ec8fa5ce Removed plist_set_type() as it should not be used. 2014-05-20 21:01:11 +02:00
Martin Szulecki c51d1a77b0 Redo PLIST_WARN_DEPRECATED macro to work with older llvm/clang 2014-05-20 17:47:13 +02:00
Aaron Burghardt 7b59a04d94 Added Doxygen comments to explicitly describe memory buffer ownership/responsibility. 2014-05-20 03:02:46 +02:00
Nikias Bassen 6b719ecda2 deprecated plist_dict_insert_item in favor of plist_dict_set_item 2014-03-19 02:32:57 +01:00
Nikias Bassen f9299fa80a plist_dict_set_item: insert key/value pair if key not already present 2014-03-19 02:26:09 +01:00
Nikias Bassen a798afc8b5 change build system to autotools 2013-12-13 00:44:17 +01:00
Nikias Bassen 3b76474994 add new plist_dict_merge() function 2013-12-13 00:32:06 +01:00
Nikias Bassen 553c384920 C++: added support for PLIST_UID nodes (class Uid) 2013-03-19 16:50:47 +01:00
Nikias Bassen 14a92d9f63 C++: add Key.h to public headers 2013-03-19 16:40:52 +01:00
Nikias Bassen 32320a185e added Key.h to plist++ header file 2013-03-18 01:49:24 +01:00
Nikias Bassen 46a5feb381 C++ bindings: added support for PLIST_KEY nodes. 2012-11-13 03:22:51 +01:00
Nikias Bassen 817749dd4e implemented handling of UID keyed encoding type 2012-09-16 06:03:57 +02:00
Nikias Bassen fee6a9eacd include sys/time.h for systems that don't include it automatically 2012-08-15 20:22:00 +02:00
Nikias Bassen f024951b48 remove useless win32 include from plist/Date.h 2012-05-08 18:00:53 +02:00
Jonathan Beck 210ead70ad Alow compiling with mingw on windows (thanks to Patrick). 2010-03-03 18:29:04 +01:00
Jonathan Beck 8c6a809faf Move some methods and drop Utils class in C++ binding. 2009-11-11 00:18:14 +01:00
Jonathan Beck ff536344bc Remove deprecated functions from API. 2009-11-10 23:37:43 +01:00
Jonathan Beck 0f92ed12ff Remove wrongly exposed SetParent method. 2009-11-10 18:30:43 +01:00
Jonathan Beck 84596548e5 Add GetNodeIdex and GetNodeKey methods. 2009-11-04 20:21:54 +01:00
Martin Szulecki 7f7ac1c257 Update doxygen documentation generation to be useful. 2009-10-28 18:49:38 +01:00
Jonathan Beck 6710f4bfb9 Format sources to ANSI style using AStyle (astyle --style=ansi). 2009-10-28 18:31:34 +01:00
Jonathan Beck fed2573566 Unlink previous node in SetParent(). 2009-10-28 18:08:33 +01:00
Jonathan Beck 1bc333972b Fix build for MSVC9. 2009-10-28 17:57:52 +01:00
Jonathan Beck a129688a88 Change name of input argument as 'in' is a reserved keyword in python. 2009-10-26 20:33:36 +01:00
Jonathan Beck c1363bea10 Add Set/Get Parent and a helper to create a Node from a plist_t. 2009-10-26 18:41:15 +01:00
Jonathan Beck 5b1c3aea5e prefix headers #ifndef with PLIST__ to make them less common. 2009-10-19 19:56:10 +02:00
Jonathan Beck 872f611951 Install C++ headers. 2009-10-18 22:21:09 +02:00
Jonathan Beck c17b420a7f Tweak Dictioonary interface a bit. 2009-10-18 21:54:33 +02:00
Jonathan Beck 33de762cf6 Implement Date object. 2009-10-17 11:10:54 +02:00
Jonathan Beck 32be8ec384 Fix Node lifecycle and change argument as reference to const reference. 2009-10-16 22:26:13 +02:00
Jonathan Beck 8aeef4dd23 Fix header define name; 2009-10-16 15:38:38 +02:00
Jonathan Beck 8186a9d371 Fix various mistakes in C++ bindings. 2009-10-15 19:28:30 +02:00
Jonathan Beck a922b714c9 Add C++ binding. 2009-10-13 20:04:06 +02:00
Jonathan Beck e492ef675c Add path accessor util function. 2009-10-13 20:03:38 +02:00
Jonathan Beck 393f1b4b28 Restore plist_dict_get_size function. 2009-10-11 15:49:05 +02:00
Jonathan Beck 583bb24945 Add function to change a node's type. 2009-10-11 14:00:31 +02:00
Jonathan Beck f8ba9f02e3 Abstract iter base type. 2009-10-10 23:09:29 +02:00