Man Linux: Main Page and Category List

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)