Top | ![]() |
![]() |
![]() |
![]() |
Sometimes you want to pass "arguments" to a component. Consider the component with the following OAFIID:
OAFIID:GNOME_FileSelector
You might want to be able to set configuration options from its moniker name, without having to ever use the property bag API. For example:
OAFIID:GNOME_FileSelector!AcceptMimeTypes=image/*
Create a BonoboItemHandler. This component will let you do argument parsing of any kind.
You have to provide two functions: enumObjects
(this can be empty) and getObject
.
The getObject function will be called when the moniker mechanism is trying to resolve a set of arguments to your function.
Like this:
1 |
So basically during the `getObject' operation you will be given a chance to process the `item_name' string which is basically like a command line argument (for the sake of explaining this) and based on this information you can customize your component.
Sometimes you will want to specify a bunch of options to configure your component, like this:
OAFIID:MyComponent!visible=true;image=blah.png
So we are separating the various options with semi-colons here. To simplify your code, we have provided a couple of functions that given the following string:
visible=true;image=blah.png
Will return a GList split with BonoboItemOptions:
1 |
BonoboItemHandler * bonobo_item_handler_new (BonoboItemHandlerEnumObjectsFn enum_objects
,BonoboItemHandlerGetObjectFn get_object
,gpointer user_data
);
Creates a new BonoboItemHandler object. These are used to hold client sites.
BonoboItemHandler * bonobo_item_handler_new_closure (GClosure *enum_objects
,GClosure *get_object
);
Creates a new BonoboItemHandler object. These are used to hold client sites.
BonoboItemHandler * bonobo_item_handler_construct (BonoboItemHandler *handler
,GClosure *enum_objects
,GClosure *get_object
);
Constructs the container
BonoboObject using the provided closures
for the actual implementation.
void
bonobo_item_options_free (GSList *options
);
Use this to release a list returned by bonobo_item_option_parse()
options |
a GSList of BonoboItemOption structures that was returned by |