matecomponent-app-client

## matecomponent-app-client matecomponent-app-client — client interface to remote MateComponentApplication objects |

## Synopsis

                        MateComponentAppClientMsgDesc;
    MateComponentAppClient *   matecomponent_app_client_new               (MateComponent_Application app_server);
    gint                matecomponent_app_client_new_instance      (MateComponentAppClient *app_client,
                                                             int argc,
                                                             char *argv[],
                                                             CORBA_Environment *opt_env);
    GValue *            matecomponent_app_client_msg_send_valist   (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             CORBA_Environment *opt_env,
                                                             GType first_arg_type,
                                                             va_list var_args);
    GValue *            matecomponent_app_client_msg_send_argv     (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             const GValue *argv[],
                                                             CORBA_Environment *opt_env);
    GValue *            matecomponent_app_client_msg_send          (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             CORBA_Environment *opt_env,
                                                             GType first_arg_type,
                                                             ...);

## Description

## Details

### MateComponentAppClientMsgDesc

    typedef struct {
    	gchar *name;
    	GType  return_type;
    	GType *types;		/* G_TYPE_NONE-terminated array */
    	gchar *description;
    } MateComponentAppClientMsgDesc;

### matecomponent_app_client_new ()

    MateComponentAppClient *   matecomponent_app_client_new               (MateComponent_Application app_server);

`app_server`: object reference to a MateComponent::Application; this function takes ownership of this reference (use `matecomponent_object_dup_ref()` if you want to keep your own reference.)

Create an application client object connected to the remote (or local) MateComponent::Application object.

### Warning

Applications should not use this function. See `matecomponent_application_register_unique()`.

`app_server` : |
Returns : | a MateComponentAppClient object.

### matecomponent_app_client_new_instance ()

    gint                matecomponent_app_client_new_instance      (MateComponentAppClient *app_client,
                                                             int argc,
                                                             char *argv[],
                                                             CORBA_Environment *opt_env);

Ask the application server to emit a "new-instance" signal containing the specified string vector.

`app_client` : | a MateComponentAppClient
`argc` : | length of `argv`
`argv` : | array of command-line arguments
`opt_env` : | a CORBA_Environment, or `NULL`.
Returns : | the message return value

### matecomponent_app_client_msg_send_valist ()

    GValue *            matecomponent_app_client_msg_send_valist   (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             CORBA_Environment *opt_env,
                                                             GType first_arg_type,
                                                             va_list var_args);

See `matecomponent_app_client_msg_send()`.

`app_client` : | client
`message` : | message name
`opt_env` : | optional corba environment
`first_arg_type` : | first message parameter
`var_args` : | remaining parameters
Returns : | return value

### matecomponent_app_client_msg_send_argv ()

    GValue *            matecomponent_app_client_msg_send_argv     (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             const GValue *argv[],
                                                             CORBA_Environment *opt_env);

Like `matecomponent_app_client_msg_send()`, except that it receives a single argument vector instead of a variable number of arguments.

`app_client` : | client
`message` : | message name
`argv` : | `NULL`-terminated vector of pointers to GValue, the arguments to pass with the message.
`opt_env` : |
Returns : | the message return value

### matecomponent_app_client_msg_send ()

    GValue *            matecomponent_app_client_msg_send          (MateComponentAppClient *app_client,
                                                             const char *message,
                                                             CORBA_Environment *opt_env,
                                                             GType first_arg_type,
                                                             ...);

Send a message to the application server. Takes a variable length argument list of GType, value pairs, terminated with `G_TYPE_NONE`. Values are direct C values, not GValues! Example:

    1
    2
    3
    4
    5
    GValue *retval;
    retval = matecomponent_app_client_msg_send (app_client, "openURL",
                                         G_TYPE_STRING, "http://www.gnome.org",
                                         G_TYPE_BOOLEAN, TRUE,
                                         G_TYPE_NONE);

`app_client` : | the client interface associated with the application to which we wish to send a message
`message` : | message name
`opt_env` : |
`first_arg_type` : |
`...` : | arguments
Returns : | a GValue containing the value returned from the aplication server.