/// <summary> /// Get the value of a #PLIST_DATA node. /// This function does nothing if node is not of type #PLIST_DATA /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// a pointer to an unallocated char buffer. This function allocates the memory, /// caller is responsible for freeing it. /// </param> /// <param name="length"> /// the length of the buffer /// </param> public virtual void plist_get_data_val(PlistHandle node, out string val, ref ulong length) { PlistNativeMethods.plist_get_data_val(node, out val, ref length); }
/// <summary> /// Get the #plist_type of a node. /// </summary> /// <param name="node"> /// the node /// </param> /// <returns> /// the type of the node /// </returns> public virtual PlistType plist_get_node_type(PlistHandle node) { return(PlistNativeMethods.plist_get_node_type(node)); }
/// <summary> /// Get the value of a #PLIST_KEY node. /// This function does nothing if node is not of type #PLIST_KEY /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// a pointer to a C-string. This function allocates the memory, /// caller is responsible for freeing it. /// </param> public virtual void plist_get_key_val(PlistHandle node, out string val) { PlistNativeMethods.plist_get_key_val(node, out val); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_DATA /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// the binary buffer. The buffer is copied when set and will /// be freed by the node. /// </param> /// <param name="length"> /// the length of the buffer /// </param> public virtual void plist_set_data_val(PlistHandle node, string val, ulong length) { PlistNativeMethods.plist_set_data_val(node, val, length); }
/// <summary> /// Get the index of an item. item must be a member of a #PLIST_ARRAY node. /// </summary> /// <param name="node"> /// the node /// </param> /// <returns> /// the node index /// </returns> public virtual uint plist_array_get_item_index(PlistHandle node) { return(PlistNativeMethods.plist_array_get_item_index(node)); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_STRING /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// the string value. The string is copied when set and will be /// freed by the node. /// </param> public virtual void plist_set_string_val(PlistHandle node, string val) { PlistNativeMethods.plist_set_string_val(node, val); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_UINT /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// the unsigned integer value /// </param> public virtual void plist_set_uint_val(PlistHandle node, ulong val) { PlistNativeMethods.plist_set_uint_val(node, val); }
/// <summary> /// Increment iterator of a #PLIST_DICT node. /// </summary> /// <param name="node"> /// the node of type #PLIST_DICT /// </param> /// <param name="iter"> /// iterator of the dictionary /// </param> /// <param name="key"> /// a location to store the key, or NULL. The caller is responsible /// for freeing the the returned string. /// </param> /// <param name="val"> /// a location to store the value, or NULL. The caller should *not* /// free the returned value. /// </param> public virtual void plist_dict_next_item(PlistHandle node, PlistDictIterHandle iter, out string key, out PlistHandle val) { PlistNativeMethods.plist_dict_next_item(node, iter, out key, out val); }
/// <summary> /// Get key associated to an item. Item must be member of a dictionary /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="key"> /// a location to store the key. The caller is responsible for freeing the returned string. /// </param> public virtual void plist_dict_get_item_key(PlistHandle node, out string key) { PlistNativeMethods.plist_dict_get_item_key(node, out key); }
/// <summary> /// Get size of a #PLIST_DICT node. /// </summary> /// <param name="node"> /// the node of type #PLIST_DICT /// </param> /// <returns> /// size of the #PLIST_DICT node /// </returns> public virtual uint plist_dict_get_size(PlistHandle node) { return(PlistNativeMethods.plist_dict_get_size(node)); }
/// <summary> /// Create an iterator of a #PLIST_DICT node. /// The allocated iterator should be freed with the standard free function. /// </summary> /// <param name="node"> /// the node of type #PLIST_DICT /// </param> /// <param name="iter"> /// iterator of the #PLIST_DICT node /// </param> public virtual void plist_dict_new_iter(PlistHandle node, out PlistDictIterHandle iter) { PlistNativeMethods.plist_dict_new_iter(node, out iter); }
/// <summary> /// Remove an existing position in a #PLIST_ARRAY node. /// Removed position will be freed using #plist_free. /// </summary> /// <param name="node"> /// the node of type #PLIST_ARRAY /// </param> /// <param name="n"> /// The position to remove. Range is [0, array_size[. Assert if n is not in range. /// </param> public virtual void plist_array_remove_item(PlistHandle node, uint n) { PlistNativeMethods.plist_array_remove_item(node, n); }
/// <summary> /// Insert a new item at position n in a #PLIST_ARRAY node. /// </summary> /// <param name="node"> /// the node of type #PLIST_ARRAY /// </param> /// <param name="item"> /// the new item to insert. The array is responsible for freeing item when it is no longer needed. /// </param> /// <param name="n"> /// The position at which the node will be stored. Range is [0, array_size[. Assert if n is not in range. /// </param> public virtual void plist_array_insert_item(PlistHandle node, PlistHandle item, uint n) { PlistNativeMethods.plist_array_insert_item(node, item, n); }
/// <summary> /// Append a new item at the end of a #PLIST_ARRAY node. /// </summary> /// <param name="node"> /// the node of type #PLIST_ARRAY /// </param> /// <param name="item"> /// the new item. The array is responsible for freeing item when it is no longer needed. /// </param> public virtual void plist_array_append_item(PlistHandle node, PlistHandle item) { PlistNativeMethods.plist_array_append_item(node, item); }
/// <summary> /// Get the value of a #PLIST_DATE node. /// This function does nothing if node is not of type #PLIST_DATE /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="sec"> /// a pointer to an int32_t variable. Represents the number of seconds since 01/01/2001. /// </param> /// <param name="usec"> /// a pointer to an int32_t variable. Represents the number of microseconds /// </param> public virtual void plist_get_date_val(PlistHandle node, ref int sec, ref int usec) { PlistNativeMethods.plist_get_date_val(node, ref sec, ref usec); }
/// <summary> /// Frees memory used globally by listplist, in /// particular the libxml parser /// </summary> public virtual void plist_cleanup() { PlistNativeMethods.plist_cleanup(); }
/// <summary> /// Get the value of a #PLIST_UID node. /// This function does nothing if node is not of type #PLIST_UID /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// a pointer to a uint64_t variable. /// </param> public virtual void plist_get_uid_val(PlistHandle node, ref ulong val) { PlistNativeMethods.plist_get_uid_val(node, ref val); }
/// <summary> /// Insert a new item into a #PLIST_DICT node. /// </summary> /// <param name="node"> /// the node of type #PLIST_DICT /// </param> /// <param name="item"> /// the new item to insert /// </param> /// <param name="key"> /// The identifier of the item to insert. /// </param> public virtual void plist_dict_insert_item(PlistHandle node, string key, PlistHandle item) { PlistNativeMethods.plist_dict_insert_item(node, key, item); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_BOOLEAN /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// the boolean value /// </param> public virtual void plist_set_bool_val(PlistHandle node, char val) { PlistNativeMethods.plist_set_bool_val(node, val); }
/// <summary> /// Remove an existing position in a #PLIST_DICT node. /// Removed position will be freed using #plist_free /// </summary> /// <param name="node"> /// the node of type #PLIST_DICT /// </param> /// <param name="key"> /// The identifier of the item to remove. Assert if identifier is not present. /// </param> public virtual void plist_dict_remove_item(PlistHandle node, string key) { PlistNativeMethods.plist_dict_remove_item(node, key); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_REAL /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="val"> /// the real value /// </param> public virtual void plist_set_real_val(PlistHandle node, double val) { PlistNativeMethods.plist_set_real_val(node, val); }
/// <summary> /// Merge a dictionary into another. This will add all key/value pairs /// from the source dictionary to the target dictionary, overwriting /// any existing key/value pairs that are already present in target. /// </summary> /// <param name="target"> /// pointer to an existing node of type #PLIST_DICT /// </param> /// <param name="source"> /// node of type #PLIST_DICT that should be merged into target /// </param> public virtual void plist_dict_merge(out PlistHandle target, PlistHandle source) { PlistNativeMethods.plist_dict_merge(out target, source); }
/// <summary> /// Set the value of a node. /// Forces type of node to #PLIST_DATE /// </summary> /// <param name="node"> /// the node /// </param> /// <param name="sec"> /// the number of seconds since 01/01/2001 /// </param> /// <param name="usec"> /// the number of microseconds /// </param> public virtual void plist_set_date_val(PlistHandle node, int sec, int usec) { PlistNativeMethods.plist_set_date_val(node, sec, usec); }
/// <summary> /// Destruct a plist_t node and all its children recursively /// </summary> /// <param name="plist"> /// the plist to free /// </param> public virtual void plist_free(System.IntPtr plist) { PlistNativeMethods.plist_free(plist); }