IpatchItem

IpatchItem — Abstract base item object

Stability Level

Stable, unless otherwise indicated

Functions

IpatchItem * (*IpatchItemCopyLinkFunc) ()
#define IPATCH_ITEM_WLOCK()
#define IPATCH_ITEM_WUNLOCK()
#define IPATCH_ITEM_RLOCK()
#define IPATCH_ITEM_RUNLOCK()
#define IPATCH_ITEM_PROP_NOTIFY_SET_EVENT()
void (*IpatchItemPropCallback) ()
void (*IpatchItemPropDisconnect) ()
#define IPATCH_ITEM_COPY_LINK_FUNC()
GParamSpec * ipatch_item_get_pspec_title ()
int ipatch_item_get_flags ()
void ipatch_item_set_flags ()
void ipatch_item_clear_flags ()
void ipatch_item_set_parent ()
void ipatch_item_unparent ()
IpatchItem * ipatch_item_get_parent ()
IpatchItem * ipatch_item_peek_parent ()
IpatchItem * ipatch_item_get_base ()
IpatchItem * ipatch_item_peek_base ()
IpatchItem * ipatch_item_get_ancestor_by_type ()
IpatchItem * ipatch_item_peek_ancestor_by_type ()
void ipatch_item_remove ()
void ipatch_item_remove_full ()
void ipatch_item_remove_recursive ()
void ipatch_item_changed ()
void ipatch_item_get_property_fast ()
void ipatch_item_copy ()
void ipatch_item_copy_link_func ()
void ipatch_item_copy_replace ()
IpatchItem * ipatch_item_duplicate ()
IpatchItem * ipatch_item_duplicate_link_func ()
IpatchItem * ipatch_item_duplicate_replace ()
IpatchList * ipatch_item_duplicate_deep ()
IpatchItem * ipatch_item_copy_link_func_deep ()
IpatchItem * ipatch_item_copy_link_func_hash ()
gboolean ipatch_item_type_can_conflict ()
GParamSpec ** ipatch_item_type_get_unique_specs ()
GValueArray * ipatch_item_get_unique_props ()
guint ipatch_item_test_conflict ()
void ipatch_item_set_atomic ()
void ipatch_item_get_atomic ()
IpatchItem * ipatch_item_first ()
IpatchItem * ipatch_item_next ()
void ipatch_item_prop_notify ()
void ipatch_item_prop_notify_by_name ()
guint ipatch_item_prop_connect ()
guint ipatch_item_prop_connect_by_name ()
void ipatch_item_prop_disconnect ()
void ipatch_item_prop_disconnect_matched ()
void ipatch_item_prop_disconnect_by_name ()

Properties

IpatchBase * base Read
guint flags Read / Write
IpatchItem * parent Read / Write
char * title Read

Types and Values

Object Hierarchy

    GObject
    ╰── IpatchItem
        ├── IpatchContainer
        ├── IpatchFile
        ├── IpatchDLS2Sample
        ├── IpatchVirtualContainer
        ├── IpatchDLS2Region
        ├── IpatchSampleData
        ├── IpatchGigDimension
        ├── IpatchGigSubRegion
        ├── IpatchSampleStore
        ├── IpatchSF2Sample
        ├── IpatchSF2Zone
        ├── IpatchSLISample
        ├── IpatchSLIZone
        ╰── IpatchVBankRegion

Description

The abstract base item type from which all instrument objects are derived and many other object types as well.

Functions

IpatchItemCopyLinkFunc ()

IpatchItem *
(*IpatchItemCopyLinkFunc) (IpatchItem *item,
                           IpatchItem *link,
                           gpointer user_data);

A callback function called during item copy/duplicate operations for any item link reference which needs to be resolved. An example usage is for deep duplicating an object (all references can also be duplicated). Item copy methods should call this for any linked item references which are not part of the new object.

Parameters

item

Item which is being linked (contains a reference to link ).

 

link

The item being referenced (can be NULL).

 

user_data

User data supplied to copy/duplicate function.

 

Returns

Pointer to item to use for link property (can be the link item if the duplicated/copied item is local to the same file).


IPATCH_ITEM_WLOCK()

#define             IPATCH_ITEM_WLOCK(item)

IPATCH_ITEM_WUNLOCK()

#define             IPATCH_ITEM_WUNLOCK(item)

IPATCH_ITEM_RLOCK()

#define IPATCH_ITEM_RLOCK(item)		IPATCH_ITEM_WLOCK(item)

IPATCH_ITEM_RUNLOCK()

#define IPATCH_ITEM_RUNLOCK(item) IPATCH_ITEM_WUNLOCK(item)

IPATCH_ITEM_PROP_NOTIFY_SET_EVENT()

#define             IPATCH_ITEM_PROP_NOTIFY_SET_EVENT(info, index, data, destroy)

A macro for assigning per event pointers to IpatchItemPropNotify.

Parameters

info

IpatchItemPropNotify pointer

 

index

Pointer index (0-3)

 

data

Data to assign to pointer field

 

destroy

Callback function to cleanup data when done (or NULL)

 

IpatchItemPropCallback ()

void
(*IpatchItemPropCallback) (IpatchItemPropNotify *notify);

IpatchItem property change callback function prototype.


IpatchItemPropDisconnect ()

void
(*IpatchItemPropDisconnect) (IpatchItem *item,
                             GParamSpec *pspec,
                             gpointer user_data);

Function prototype which gets called when a property notify callback gets disconnected.

Parameters

item

Item of prop change match criteria

 

pspec

Parameter spec of prop change match criteria

 

user_data

User defined pointer from when callback was added

 

IPATCH_ITEM_COPY_LINK_FUNC()

#define             IPATCH_ITEM_COPY_LINK_FUNC(item, link, func, userdata)

ipatch_item_get_pspec_title ()

GParamSpec *
ipatch_item_get_pspec_title (void);

ipatch_item_get_flags ()

int
ipatch_item_get_flags (gpointer item);

Get the value of the flags field in a patch item.

Parameters

item

IpatchItem to get flag field from.

[type Ipatch.Item]

Returns

Value of flags field (some of which is user definable).


ipatch_item_set_flags ()

void
ipatch_item_set_flags (gpointer item,
                       int flags);

Set flags in a patch item. All bits that are set in flags are set in the item flags field.

Parameters

item

IpatchItem to set flags in.

[type Ipatch.Item]

flags

Flags to set

 

ipatch_item_clear_flags ()

void
ipatch_item_clear_flags (gpointer item,
                         int flags);

Clear (unset) flags in a patch item. All bits that are set in flags are cleared in the item flags field.

Parameters

item

IpatchItem object to clear flags in.

[type Ipatch.Item]

flags

Flags to clear

 

ipatch_item_set_parent ()

void
ipatch_item_set_parent (IpatchItem *item,
                        IpatchItem *parent);

Usually only used by IpatchItem type implementations. Sets the parent of a patch item. Also recursively sets base parent and IPATCH_ITEM_HOOKS_ACTIVE flag if set in parent . Also assigns the item's thread mutex to that of the parent if its class has mutex_slave set. The parent container is responsible for adding a reference to item - this function does not do so.

NOTE: If the item has mutex_slave set in its class then the item will use parent object's mutex. During the call to this function item should not be accessed by any other threads, otherwise problems may occur when the mutex is changed. Normally this shouldn't be much of an issue, since new item's are often only accessed by 1 thread until being parented.

Parameters

item

Item to set parent of (should not have a parent).

 

parent

New parent of item.

 

ipatch_item_unparent ()

void
ipatch_item_unparent (IpatchItem *item);

Usually only used by IpatchItem type implementations. Unparent an item. Also recursively unsets base parent and IPATCH_ITEM_HOOKS_ACTIVE flag. Parent container object is responsible for removing reference of item - this function does not do so.

Parameters

item

Item to unparent

 

ipatch_item_get_parent ()

IpatchItem *
ipatch_item_get_parent (IpatchItem *item);

Gets the parent of item after incrementing its reference count. The caller is responsible for decrementing the reference count with g_object_unref when finished with it. This function is useful because all code paths must contain references to the items that they are working with in a multi-thread environment (there is no guarantee an item won't be destroyed unless a refcount is held).

Parameters

item

Item to get parent of

 

Returns

The parent of item or NULL if not parented or a root item. If not NULL then the reference count of parent has been incremented and the caller is responsible for removing it when finished with parent.

[transfer full]


ipatch_item_peek_parent ()

IpatchItem *
ipatch_item_peek_parent (IpatchItem *item);

This function is the same as ipatch_item_get_parent() (gets an item's parent) but does not increment the parent's ref count. Therefore this function should only be used when the caller already holds a reference or when only the value of the pointer will be used (not the contents), to avoid multi-thread problems.

[skip]

Parameters

item

Item to get the parent of

 

Returns

The parent of item or NULL if not parented or a root item.


ipatch_item_get_base ()

IpatchItem *
ipatch_item_get_base (IpatchItem *item);

Gets the base parent of item (toplevel patch file object) after incrementing its reference count. The caller is responsible for decrementing the reference count with g_object_unref when finished with it. If item is itself a IpatchBase object then it is returned.

Parameters

item

Item to get base parent of

 

Returns

The base parent of item or NULL if no IpatchBase type in parent ancestry. If not NULL then the reference count of parent has been incremented and the caller is responsible for removing it when finished with the base parent.

[transfer full]


ipatch_item_peek_base ()

IpatchItem *
ipatch_item_peek_base (IpatchItem *item);

This function is the same as ipatch_item_get_base() (gets an item's toplevel base parent) but does not increment the parent's ref count. Therefore this function should only be used when the caller already holds a reference or when only the value of the pointer will be used (not the contents), to avoid multi-thread problems.

[skip]

Parameters

item

Item to get the base parent of

 

Returns

The base parent of item or NULL if no IpatchBase type in parent ancestry.


ipatch_item_get_ancestor_by_type ()

IpatchItem *
ipatch_item_get_ancestor_by_type (IpatchItem *item,
                                  GType ancestor_type);

Searches for the first parent item that is derived from ancestor_type in the item object's ancestry. ancestor_type must be an IpatchItem derived type (as well as the ancestry of item ). Of note is that item can also match. The returned item's reference count has been incremented and it is the responsiblity of the caller to remove it with g_object_unref() when finished with it.

Parameters

item

Item to search for parent of a given type

 

ancestor_type

Type of parent in the item object's ancestry

 

Returns

The matched item (can be the item itself) or NULL if no item matches ancestor_type in the ancestry. Remember to unref the matched item when done with it.

[transfer full]


ipatch_item_peek_ancestor_by_type ()

IpatchItem *
ipatch_item_peek_ancestor_by_type (IpatchItem *item,
                                   GType ancestor_type);

Just like ipatch_item_get_ancestor_by_type() but doesn't ref returned item. This should only be used when caller already owns a reference or only the pointer value is of importance, since otherwise there is a potential multi-thread race condition.

[skip]

Parameters

item

Item to search for parent of a given type

 

ancestor_type

Type of parent in the item object's ancestry

 

Returns

The matched item (can be the item itself) or NULL if no item matches ancestor_type in the ancestry. Remember that the returned item is not referenced.


ipatch_item_remove ()

void
ipatch_item_remove (IpatchItem *item);

This function removes an item from its parent container and removes other references from within the same patch (e.g., a IpatchSF2Sample will be removed from its parent IpatchSF2 and all IpatchSF2IZone objects referencing the sample will also be removed).

Parameters

item

Item to remove

 

ipatch_item_remove_full ()

void
ipatch_item_remove_full (IpatchItem *item,
                         gboolean full);

Like ipatch_item_remove() but will also remove all references from item (in the same IpatchBase object) if full is TRUE, behaves like ipatch_item_remove() if full is FALSE.

Parameters

item

Item to remove

 

full

TRUE removes all references to and from item , FALSE removes only references to item

 

Since: 1.1.0


ipatch_item_remove_recursive ()

void
ipatch_item_remove_recursive (IpatchItem *item,
                              gboolean full);

This function calls ipatch_item_remove_full() on item and all of its children recursively.

Parameters

item

Item to recursively remove

 

full

TRUE removes all references to and from items, FALSE removes only references to items

 

Since: 1.1.0


ipatch_item_changed ()

void
ipatch_item_changed (IpatchItem *item);

This function should be called when an item's saveable state (what ends up in a patch file) has changed. Causes the item object's base parent to have its changed flag set, indicating that the file has changes that have not been saved. Note that this function is automatically called when an ipatch_item_prop_notify() occurs for a property without the IPATCH_PARAM_NO_SAVE_CHANGE flag in its GParamSpec and therefore this function should not be called additionally.

Parameters

item

Item that has changed

 

ipatch_item_get_property_fast ()

void
ipatch_item_get_property_fast (IpatchItem *item,
                               GParamSpec *pspec,
                               GValue *value);

Usually only used by IpatchItem implementations. A faster way to retrieve an object property. Often used for fetching current value for property notifies. Notice that this function currently doesn't work with interface or class overridden properties.

Parameters

item

Item to get property value from

 

pspec

Parameter spec of property to get

 

value

Uninitialized caller supplied value to store the current value in. Remember to call g_value_unset when done with it.

 

ipatch_item_copy ()

void
ipatch_item_copy (IpatchItem *dest,
                  IpatchItem *src);

Copy an item using the item class' "copy" method. Object links are copied as is, meaning the resulting object is a local object to the same IpatchBase.

Parameters

dest

New destination item to copy to (should be same type or derived from src type)

 

src

Item to copy from

 

ipatch_item_copy_link_func ()

void
ipatch_item_copy_link_func (IpatchItem *dest,
                            IpatchItem *src,
                            IpatchItemCopyLinkFunc link_func,
                            gpointer user_data);

Copy an item using the item class' "copy" method. Like ipatch_item_copy() but takes a link_func which can be used for handling replication of externally linked objects (recursively deep duplicate for example, although there is ipatch_item_duplicate_deep() specifically for that).

Parameters

dest

New destination item to copy to (should be same type or derived from src type)

 

src

Item to copy from

 

link_func

Function to call for each object link pointer in src . This function can alter the copied link if desired.

[scope call][closure user_data]

user_data

User defined data to pass to link_func .

[nullable]

ipatch_item_copy_replace ()

void
ipatch_item_copy_replace (IpatchItem *dest,
                          IpatchItem *src,
                          GHashTable *repl_hash);

Like ipatch_item_copy() but takes a link replacement hash, which can be used for substituting different objects for object links. See ipatch_item_copy_link_func() if even more flexibility is desired.

Parameters

dest

New destination item to copy to (should be same type or derived from src type)

 

src

Item to copy from

 

repl_hash

Hash of link pointer substitutions. The original link pointer is the hash key, and the hash value is the replacement pointer.

[element-type IpatchItem IpatchItem]

ipatch_item_duplicate ()

IpatchItem *
ipatch_item_duplicate (IpatchItem *item);

A convenience function to duplicate an item. Like ipatch_item_copy() but creates a new duplicate item, rather than using an existing item. Note that externally linked objects are not duplicated for non IpatchBase derived types, making the item local to the same IpatchBase object.

Parameters

item

Item to duplicate

 

Returns

New duplicate item. Caller owns the reference to the new item.

[transfer full]


ipatch_item_duplicate_link_func ()

IpatchItem *
ipatch_item_duplicate_link_func (IpatchItem *item,
                                 IpatchItemCopyLinkFunc link_func,
                                 gpointer user_data);

Like ipatch_item_copy_link_func() but duplicates the item instead of copying to an existing item.

Parameters

item

Item to duplicate

 

link_func

Function to call for each object link pointer in item . This function can alter the copied link if desired.

[scope call][closure user_data]

user_data

User defined data to pass to link_func .

[nullable]

Returns

New duplicate item. Caller owns the reference to the new item.

[transfer full]


ipatch_item_duplicate_replace ()

IpatchItem *
ipatch_item_duplicate_replace (IpatchItem *item,
                               GHashTable *repl_hash);

Like ipatch_item_copy_replace() but duplicates the item instead of copying it to an already created item.

Parameters

item

Item to duplicate

 

repl_hash

Hash of link pointer substitutions. The original link pointer is the hash key, and the hash value is the replacement pointer.

[element-type IpatchItem IpatchItem]

Returns

New duplicate item. Caller owns the reference to the new item.

[transfer full]


ipatch_item_duplicate_deep ()

IpatchList *
ipatch_item_duplicate_deep (IpatchItem *item);

Recursively duplicate an item (i.e., its dependencies also).

Parameters

item

Item to deep duplicate

 

Returns

List of duplicated item and dependencies (duplicated item is the first in the list). List object is owned by the caller and should be unreferenced when finished using it.

[transfer full]


ipatch_item_copy_link_func_deep ()

IpatchItem *
ipatch_item_copy_link_func_deep (IpatchItem *item,
                                 IpatchItem *link,
                                 gpointer user_data);

IpatchItemCopyLinkFunc for deep duplicating an object and dependencies.

[skip]

Parameters

item

Item which is being linked (contains a reference to link ).

 

link

The item being referenced (can be NULL).

 

user_data

User data supplied to copy/duplicate function.

 

Returns

Pointer to item to use for link property (duplicated).


ipatch_item_copy_link_func_hash ()

IpatchItem *
ipatch_item_copy_link_func_hash (IpatchItem *item,
                                 IpatchItem *link,
                                 gpointer user_data);

A predefined IpatchItemCopyLinkFunc which takes a hash for the user_data component, which is used for replacing link pointers. link is used as the hash key, the hash value is used in its place if present otherwise link is used unchanged.

[skip]

Parameters

item

Item which is being linked (contains a reference to link ).

 

link

The item being referenced.

 

user_data

User data supplied to copy/duplicate function.

[type GHashTable]

Returns

Value in hash (user_data ) if link is present in hash, or link itself if not.


ipatch_item_type_can_conflict ()

gboolean
ipatch_item_type_can_conflict (GType item_type);

Test if a given IpatchItem derived type can conflict with another item (only applies to items of the same type in the same IpatchBase object).

Parameters

item_type

Type to test

 

Returns

TRUE if item_type can conflict (has properties which should be unique among its siblings), FALSE otherwise.


ipatch_item_type_get_unique_specs ()

GParamSpec **
ipatch_item_type_get_unique_specs (GType item_type,
                                   guint32 *groups);

Get the list of unique parameter specs which can conflict for a given item type.

Parameters

item_type

Type to get unique parameter specs for

 

groups

Location to store an integer describing groups. Each bit corresponds to a GParamSpec in the returned array. GParamSpecs of the same group will have the same bit value (0 or 1) and be consecutive. Unique properties in the same group must all match (logic AND) for a conflict to occur. Pass NULL to ignore.

[out][optional]

Returns

NULL terminated list of parameter specs or NULL if item_type can never conflict. The returned array is internal and should not be modified or freed.

[array zero-terminated=1][transfer none]


ipatch_item_get_unique_props ()

GValueArray *
ipatch_item_get_unique_props (IpatchItem *item);

Get the values of the unique properties for item . This is useful when doing conflict detection processing and more flexibility is desired than with ipatch_item_test_conflict().

Parameters

item

Item to get unique properties of

 

Returns

GValueArray of the unique property values of item in the same order as the parameter specs returned by ipatch_item_type_get_unique_specs(). NULL is returned if item doesn't have any unique properties. Use g_value_array_free() to free the array when finished using it.


ipatch_item_test_conflict ()

guint
ipatch_item_test_conflict (IpatchItem *item1,
                           IpatchItem *item2);

Test if two items would conflict if they were siblings (doesn't actually test if they are siblings).

Parameters

item1

First item to test

 

item2

Second item to test

 

Returns

Flags of unique properties which conflict. The bit index corresponds to the parameter index in the array returned by ipatch_item_type_get_unique_specs(). 0 is returned if the items do not conflict.


ipatch_item_set_atomic ()

void
ipatch_item_set_atomic (gpointer item,
                        const char *first_property_name,
                        ...);

Sets properties on a patch item atomically (i.e. item is multi-thread locked while all properties are set). This avoids critical parameter sync problems when multiple threads are accessing the same item. See g_object_set() for more information on setting properties.

Parameters

item

IpatchItem derived object to set properties of.

[type IpatchItem]

first_property_name

Name of first property

 

...

Variable list of arguments that should start with the value to set first_property_name to, followed by property name/value pairs. List is terminated with a NULL property name.

 

ipatch_item_get_atomic ()

void
ipatch_item_get_atomic (gpointer item,
                        const char *first_property_name,
                        ...);

Gets properties from a patch item atomically (i.e. item is multi-thread locked while all properties are retrieved). This avoids critical parameter sync problems when multiple threads are accessing the same item. See g_object_get() for more information on getting properties.

Parameters

item

IpatchItem derived object to get properties from.

[type IpatchItem]

first_property_name

Name of first property

 

...

Variable list of arguments that should start with a pointer to store the value from first_property_name , followed by property name/value pointer pairs. List is terminated with a NULL property name.

 

ipatch_item_first ()

IpatchItem *
ipatch_item_first (IpatchIter *iter);

Gets the first item in a patch item iterator. A convenience wrapper for ipatch_iter_first().

[skip]

Parameters

iter

Patch item iterator containing IpatchItem items

 

Returns

The first item in iter or NULL if empty.


ipatch_item_next ()

IpatchItem *
ipatch_item_next (IpatchIter *iter);

Gets the next item in a patch item iterator. A convenience wrapper for ipatch_iter_next().

[skip]

Parameters

iter

Patch item iterator containing IpatchItem items

 

Returns

The next item in iter or NULL if no more items.


ipatch_item_prop_notify ()

void
ipatch_item_prop_notify (IpatchItem *item,
                         GParamSpec *pspec,
                         const GValue *new_value,
                         const GValue *old_value);

Usually only used by IpatchItem object implementations, rather than explicitly called by the user. It should be called AFTER item property changes that occur outside of the IpatchItem <structfield>item_set_property</structfield> method.

Parameters

item

Item whose property changed

 

pspec

Parameter specification for item of parameter that changed

 

new_value

The new value that was assigned

 

old_value

Old value that property had (can be NULL for read only props).

[nullable]

ipatch_item_prop_notify_by_name ()

void
ipatch_item_prop_notify_by_name (IpatchItem *item,
                                 const char *prop_name,
                                 const GValue *new_value,
                                 const GValue *old_value);

Usually only used by IpatchItem object implementations, rather than explicitly called by the user. Like ipatch_item_prop_notify() except takes a property name instead of a parameter spec, for added convenience.

Parameters

item

Item whose property changed

 

prop_name

Name of property that changed

 

new_value

The new value that was assigned

 

old_value

Old value that property had (can be NULL for read only properties).

[nullable]

ipatch_item_prop_connect ()

guint
ipatch_item_prop_connect (IpatchItem *item,
                          GParamSpec *pspec,
                          IpatchItemPropCallback callback,
                          IpatchItemPropDisconnect disconnect,
                          gpointer user_data);

Connect a callback for a specific IpatchItem and property. If a property change occurs for the given item and pspec then the callback is invoked. The parameters item and/or pspec may be NULL for wild card matching (if both are NULL then callback will be called for all IpatchItem property changes).

[skip]

Parameters

item

IpatchItem to match (or NULL for wildcard).

[nullable]

pspec

Property parameter specification to match (or NULL for wildcard).

[nullable]

callback

Callback function.

[scope notified]

disconnect

Callback disconnect function (called when the callback is disconnected) can be NULL.

[nullable][closure user_data]

user_data

User defined data to pass to callback and disconnect function.

[nullable]

Returns

Unique handler ID which can be used to remove the handler or 0 on error (only when function params are incorrect).


ipatch_item_prop_connect_by_name ()

guint
ipatch_item_prop_connect_by_name (IpatchItem *item,
                                  const char *prop_name,
                                  IpatchItemPropCallback callback,
                                  IpatchItemPropDisconnect disconnect,
                                  gpointer user_data);

Like ipatch_item_prop_add_callback() but takes the name of a property instead of the parameter spec, for added convenience.

[skip]

Parameters

item

IpatchItem to match (or NULL for wildcard).

[nullable]

prop_name

Name of property of item to match

 

callback

Callback function

 

disconnect

Callback disconnect function (called when the callback is disconnect) can be NULL.

[nullable]

user_data

User defined data to pass to callback and disconnect function.

[closure]

Returns

Unique handler ID which can be used to remove the handler or 0 on error (only when function params are incorrect).


ipatch_item_prop_disconnect ()

void
ipatch_item_prop_disconnect (guint handler_id);

Disconnects an IpatchItem property change callback handler by its ID.

Parameters

handler_id

Handler ID as returned from ipatch_item_prop_connect().

 

ipatch_item_prop_disconnect_matched ()

void
ipatch_item_prop_disconnect_matched (IpatchItem *item,
                                     GParamSpec *pspec,
                                     IpatchItemPropCallback callback,
                                     gpointer user_data);

Disconnects first IpatchItem property change callback matching all the function parameters. Note: Only the pointer values of item and pspec are used so they don't actually need to be valid anymore.

[skip]

Parameters

item

IpatchItem of handler to match (does not need to be valid).

[nullable]

pspec

GParamSpec of handler to match (does not need to be valid).

[nullable]

callback

Callback function to match

 

user_data

User data to match.

[nullable]

ipatch_item_prop_disconnect_by_name ()

void
ipatch_item_prop_disconnect_by_name (IpatchItem *item,
                                     const char *prop_name,
                                     IpatchItemPropCallback callback,
                                     gpointer user_data);

Like ipatch_item_prop_disconnect_matched() but takes a name of the property to match instead of a parameter spec, for added convenience. Note: item must still be valid (to look up the property), contrary to ipatch_item_prop_disconnect_matched().

[skip]

Parameters

item

IpatchItem of handler to match (NOTE: Must be a valid object!)

 

prop_name

Name of property of item to match

 

callback

Callback function to match.

[nullable]

user_data

User data to match.

[nullable]

Types and Values

enum IpatchItemFlags

Members

IPATCH_ITEM_HOOKS_ACTIVE

   

IPATCH_ITEM_FREE_MUTEX

   

IPATCH_ITEM_UNUSED_FLAG_SHIFT

#define IPATCH_ITEM_UNUSED_FLAG_SHIFT 4

ipatch_item_pspec_title

extern GParamSpec *ipatch_item_pspec_title;

Property Details

The “base” property

  “base”                     IpatchBase *

Base.

Owner: IpatchItem

Flags: Read


The “flags” property

  “flags”                    guint

Flags.

Owner: IpatchItem

Flags: Read / Write

Default value: 0


The “parent” property

  “parent”                   IpatchItem *

Parent.

Owner: IpatchItem

Flags: Read / Write


The “title” property

  “title”                    char *

Title.

Owner: IpatchItem

Flags: Read

Default value: NULL