GdaServerOperation: individual nodes

GdaServerOperation: individual nodes — Getting information about parts (nodes) composing a path

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

#include <virtual/gda-ldap-connection.h>

Description

To each part of a path is associated a node (as a GdaServerOperationNode structure). For example the "/TABLE_DEF_P/TABLE_NAME" path has two nodes, one associated to "/TABLE_DEF_P" and one to "/TABLE_DEF_P/TABLE_NAME". For more information about the path's format, see the gda_server_operation_set_value_at()'s documentation.

This API is designed to get information about all the nodes present in a GdaServerOperation object (refer to the gda_server_operation_get_root_nodes() function) and about each node of a path, and allows inspection of its contents. It is mainly reserved for database provider's implementations but can have its purpose outside of this scope.

Functions

gda_server_operation_get_node_info ()

GdaServerOperationNode *
gda_server_operation_get_node_info (GdaServerOperation *op,
                                    const gchar *path_format,
                                    ...);

Get information about the node identified by path . The returned GdaServerOperationNode structure can be copied but not modified; it may change or cease to exist if op changes

Parameters

op

a GdaServerOperation object

 

path_format

a complete path to a node (starting with "/") as a format string, similar to g_strdup_printf()'s argument

 

...

the arguments to insert into the format string

 

Returns

a GdaServerOperationNode structure, or NULL if the node was not found.

[transfer none][nullable]


gda_server_operation_get_root_nodes ()

gchar **
gda_server_operation_get_root_nodes (GdaServerOperation *op);

Get an array of strings containing the paths of nodes situated at the root of op .

Parameters

op

a GdaServerOperation object

 

Returns

a new array, which must be freed with g_strfreev().

[transfer full]


gda_server_operation_get_node_type ()

GdaServerOperationNodeType
gda_server_operation_get_node_type (GdaServerOperation *op,
                                    const gchar *path,
                                    GdaServerOperationNodeStatus *status);

Convenience function to get the type of a node.

Parameters

op

a GdaServerOperation object

 

path

a complete path to a node (starting with "/")

 

status

a place to store the status of the node, or NULL.

[nullable]

Returns

the type of node, or GDA_SERVER_OPERATION_NODE_UNKNOWN if the node was not found


gda_server_operation_get_node_parent ()

gchar *
gda_server_operation_get_node_parent (GdaServerOperation *op,
                                      const gchar *path);

Get the complete path to the parent of the node defined by path

Parameters

op

a GdaServerOperation object

 

path

a complete path to a node (starting with "/")

 

Returns

a new string or NULL if the node does not have any parent or does not exist.

[transfer full]


gda_server_operation_get_node_path_portion ()

gchar *
gda_server_operation_get_node_path_portion
                               (GdaServerOperation *op,
                                const gchar *path);

Get the last part of path

Parameters

op

a GdaServerOperation object

 

path

a complete path to a node (starting with "/")

 

Returns

a new string, or NULL if an error occurred.

[transfer full]

Types and Values

enum GdaServerOperationNodeType

Members

GDA_SERVER_OPERATION_NODE_PARAMLIST

   

GDA_SERVER_OPERATION_NODE_DATA_MODEL

   

GDA_SERVER_OPERATION_NODE_PARAM

   

GDA_SERVER_OPERATION_NODE_SEQUENCE

   

GDA_SERVER_OPERATION_NODE_SEQUENCE_ITEM

   

GDA_SERVER_OPERATION_NODE_DATA_MODEL_COLUMN

   

GDA_SERVER_OPERATION_NODE_UNKNOWN

   

enum GdaServerOperationNodeStatus

Members

GDA_SERVER_OPERATION_STATUS_OPTIONAL

   

GDA_SERVER_OPERATION_STATUS_REQUIRED

   

GDA_SERVER_OPERATION_STATUS_UNKNOWN

   

GdaServerOperationNode

typedef struct {
	GdaServerOperationNodeType    type;
	GdaServerOperationNodeStatus  status;

	GdaSet                       *plist;
	GdaDataModel                 *model;
	GdaColumn                    *column;
	GdaHolder                    *param;

	gpointer                      priv;
} GdaServerOperationNode;

See Also

GdaServerOperation