## UfoNode

UfoNode — Generic node type

## Functions

UfoNode * | ufo_node_new ()
gpointer | ufo_node_get_label ()
UfoNode * | ufo_node_copy ()
gboolean | ufo_node_equal ()
guint | ufo_node_get_index ()
guint | ufo_node_get_total ()

## Types and Values

struct | UfoNode
struct | UfoNodeClass

## Object Hierarchy

        GObject
        ╰── UfoNode
            ├── UfoTaskNode
            ├── UfoCpuNode
            ╰── UfoGpuNode

## Description

## Functions

### ufo_node_new ()

    UfoNode *
    ufo_node_new (gpointer label);

### ufo_node_get_label ()

    gpointer
    ufo_node_get_label (UfoNode *node);

Get arbitrary label data of `node` .

#### Parameters

node | A UfoNode |

#### Returns

The label of `node` .

[transfer none]

### ufo_node_copy ()

    UfoNode *
    ufo_node_copy (UfoNode *node,
                   GError **error);

Get a copy of `node` . How "deep" the copy is, depends on the inherited implementation of `node` . The copy receives an new index and the total amount of nodes is increased by one.

#### Parameters

node | A UfoNode |
error | Location for an error |

#### Returns

Copy of `node` .

[transfer full]

### ufo_node_equal ()

    gboolean
    ufo_node_equal (UfoNode *n1,
                    UfoNode *n2);

### ufo_node_get_index ()

    guint
    ufo_node_get_index (UfoNode *node);

Get the index of this node. When a graph is expanded, nodes are copied. The original node has index 1, all successive copies receive a monotonous increasing index. The total amount of copied nodes can be queried with `ufo_node_get_total()`.

#### Parameters

node | A UfoNode |

#### Returns

The index of `node` .

### ufo_node_get_total ()

    guint
    ufo_node_get_total (UfoNode *node);

Get the total amount of copied nodes.

#### Parameters

node | A UfoNode |

#### Returns

The number of copied nodes.

## Types and Values

### struct UfoNode

    struct UfoNode;

Main object for organizing filters. The contents of the UfoNode structure are private and should only be accessed via the provided API.

### struct UfoNodeClass

    struct UfoNodeClass {
    };

UfoNode class