dfuzzer
Functions | Variables
introspection.c File Reference
#include <gio/gio.h>
#include <stdio.h>
#include <stdlib.h>
#include "introspection.h"
#include "dfuzzer.h"

Functions

int df_init_introspection (const GDBusProxy *dproxy, const char *name, const char *interface)
 
GDBusMethodInfo * df_get_method (void)
 
void df_next_method (void)
 
GDBusArgInfo * df_get_method_arg (void)
 
void df_next_method_arg (void)
 
int df_method_has_out_args (void)
 
void df_unref_introspection (void)
 

Variables

static GDBusNodeInfo * df_introspection_data
 
static GDBusInterfaceInfo * df_interface_data
 
static GDBusMethodInfo ** df_methods
 
static GDBusArgInfo ** df_in_args
 
static GDBusArgInfo ** df_out_args
 

Function Documentation

◆ df_get_method()

GDBusMethodInfo* df_get_method ( void  )
Returns
Pointer on GDBusMethodInfo which contains information about method (do not free it).

◆ df_get_method_arg()

GDBusArgInfo* df_get_method_arg ( void  )
Returns
Pointer on GDBusArgInfo which contains information about argument of current (df_get_method()) method (do not free it).

◆ df_init_introspection()

int df_init_introspection ( const GDBusProxy *  dproxy,
const char *  name,
const char *  interface 
)

@function Gets introspection of object pointed by dproxy (in XML format), then parses XML data and fills GDBusNodeInfo representing the data. At the end looks up information about an interface and initializes module global pointers on first method and its first argument.

Parameters
dproxyPointer on D-Bus interface proxy
nameD-Bus name
interfaceD-Bus interface
Returns
0 on success, -1 on error

◆ df_method_has_out_args()

int df_method_has_out_args ( void  )
Returns
Returns 1 if method has out arguments (return value), 0 otherwise.

◆ df_next_method()

void df_next_method ( void  )

@function Function is used as "iterator" for interface methods.

◆ df_next_method_arg()

void df_next_method_arg ( void  )

@function Function is used as "iterator" for interface current (df_get_method()) method arguments.

◆ df_unref_introspection()

void df_unref_introspection ( void  )

@function Call when done with this module functions (only after df_init_introspection() function call). It frees memory used by df_introspection_data (GDBusNodeInfo *) which is used to look up information about the interface (methods, their arguments, etc.).

Variable Documentation

◆ df_in_args

GDBusArgInfo** df_in_args
static

Pointer on input arguments, each contains information about itself.

◆ df_interface_data

GDBusInterfaceInfo* df_interface_data
static

Information about a D-Bus interface.

◆ df_introspection_data

GDBusNodeInfo* df_introspection_data
static

Information about nodes in a remote object hierarchy.

◆ df_methods

GDBusMethodInfo** df_methods
static

Pointer on methods, each contains information about itself.

◆ df_out_args

GDBusArgInfo** df_out_args
static

Pointer on output arguments