Provided by: librapi2-dev_0.15-2.1build1_amd64 bug

NAME

       rapi_connection_from_name - obtain connection for RAPI function calls

SYNOPSIS

       #include <rapi.h>

       RapiConnection *rapi_connection_from_name(const char *device_name);

       RapiConnection *rapi_connection_from_info(SynceInfo *info);

       void rapi_connection_select(RapiConnection *connection);

       void rapi_connection_destroy(RapiConnection *connection);

       HRESULT CeRapiInit();

       STDAPI CeRapiUninit();

DESCRIPTION

       The   rapi_connection_from_info()   function  returns  a  pointer  to  a  newly  allocated
       RapiConnection  struct,  used  for  remote  function  calls  to  a  mobile   device.   The
       RapiConnection  keeps  a  pointer  to the SynceInfo struct but does not copy it, therefore
       freeing the SynceInfo before the RapiConnection is not recommended.

       rapi_connection_from_name()  accomplishes  the  same  for  the  connected   device   named
       device_name.   Refer  to synce_info_new(3) for insight on how this name and the connection
       daemon in use can affect the device contacted.

       rapi_connection_select() allows for selection between multiple  active  connections.  NULL
       can be passed to result in no active connection.

       rapi_connection_destroy()  frees  a  RapiConnection.  This  should  not  be  called before
       CeRapiUninit().

       CeRapiInit() connects the  current  RapiConnection  to  it's  mobile  device.  If  already
       initialised, CERAPI_E_ALREADYINITIALIZED is returned.

       CeRapiUninit()  destroys the connection for the current RapiConnection. The RapiConnection
       cannot be re-initialised, it must be destroyed.

       An example of using multiple devices follows.

              /*
               * SynCE support for switching between multiple devices
               *
               * Example code for two devices follows!
               *
               * It shows two different ways to get a RapiConnection object.
               *
               */

              RapiConnection* a = rapi_connection_from_name("device_a");
              rapi_connection_select(a);
              CeRapiInit()

              SynceInfo* info_b = synce_info_new("device_b");
              RapiConnection* b = rapi_connection_from_info(info_b);
              rapi_connection_select(b);
              CeRapiInit()

              rapi_connection_select(a);
               ...some RAPI calls to device A...

              rapi_connection_select(b);
               ...some RAPI calls to device B...

              rapi_connection_select(a);
              CeRapiUninit();
              rapi_connection_destroy(a);

              rapi_connection_select(b);
              CeRapiUninit();
              rapi_connection_destroy(b);
              synce_info_destroy(info_b);

RETURN VALUE

       rapi_connection_from_name() and rapi_connection_from_info() return  a  pointer  to  a  new
       RapiConnection.

       CeRapiInit() and CeRapiUninit() return S_OK on success or an error code on failure.

AUTHOR

       This manual page was written by Mark Ellis <mark_ellis@users.sourceforge.net>.

SEE ALSO

       synce(7), synce_info_new(3), odccm(1), vdccm(1)