#include "Reader.h"
#include "ClientChannel.h"
#ifdef USE_GDBUS
-#include "smartcard-service-gdbus.h"
-#include "GDBusHelper.h"
+#include "ClientGDBus.h"
#else
#include "ClientIPC.h"
#endif
}
if (callback != NULL) {
- callback(atr.getBuffer(), atr.getLength(), result, param->user_param);
+ callback(atr.getBuffer(),
+ atr.size(), result, param->user_param);
}
delete param;
delete param;
}
#endif
- ByteArray Session::getATRSync()
+ const ByteArray Session::getATRSync()
throw (ExceptionBase &, ErrorIO &, ErrorSecurity &,
ErrorIllegalState &, ErrorIllegalParameter &)
{
if (smartcard_service_session_call_get_atr_sync(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle),
&ret, &var_atr, NULL, &error) == true) {
msg.callback = (void *)this; /* if callback is class instance, it means synchronized call */
syncLock();
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
rv = waitTimedCondition(0);
if (rv != 0)
smartcard_service_session_call_get_atr(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle), NULL,
&Session::session_get_atr_cb, param);
msg.callback = (void *)callback;
msg.userParam = userData;
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
result = SCARD_ERROR_OK;
}
result = SCARD_ERROR_OK;
/* TODO : invoke callback directly */
- callback(atr.getBuffer(), atr.getLength(), 0, userData);
+ callback(atr.getBuffer(),
+ atr.size(), 0, userData);
}
}
else
if (smartcard_service_session_call_close_session_sync(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle),
&ret, NULL, &error) == true) {
msg.callback = (void *)this; /* if callback is class instance, it means synchronized call */
syncLock();
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
rv = waitTimedCondition(0);
smartcard_service_session_call_close_session(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle), NULL,
&Session::session_close_cb, param);
msg.callback = (void *)callback;
msg.userParam = userData;
- if (ClientIPC::getInstance().sendMessage(&msg) == false)
+ if (ClientIPC::getInstance().sendMessage(msg) == false)
{
_ERR("sendMessage failed");
result = SCARD_ERROR_IPC_FAILED;
msg.callback = (void *)this; /* if callback is class instance, it means synchronized call */
syncLock();
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
rv = waitTimedCondition(0);
if (rv != 0)
msg.callback = (void *)callback;
msg.userParam = userData;
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
result = SCARD_ERROR_OK;
}
return result;
}
- Channel *Session::openChannelSync(int id, ByteArray &aid)
+ Channel *Session::openChannelSync(int id, const ByteArray &aid)
throw (ExceptionBase &, ErrorIO &, ErrorIllegalState &,
ErrorIllegalParameter &, ErrorSecurity &)
{
if (smartcard_service_session_call_open_channel_sync(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle),
(guint)id, var_aid, &ret, &channel_id,
msg.callback = (void *)this; /* if callback is class instance, it means synchronized call */
syncLock();
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
rv = waitTimedCondition(0);
if (rv != 0)
return (Channel *)channel;
}
- int Session::openChannel(int id, ByteArray &aid, openChannelCallback callback, void *userData)
+ int Session::openChannel(int id, const ByteArray &aid, openChannelCallback callback, void *userData)
{
int result;
smartcard_service_session_call_open_channel(
(SmartcardServiceSession *)proxy,
+ ClientGDBus::getCookie(),
GPOINTER_TO_UINT(context),
GPOINTER_TO_UINT(handle),
(guint)id, var_aid, NULL,
msg.callback = (void *)callback;
msg.userParam = userData;
- if (ClientIPC::getInstance().sendMessage(&msg) == true)
+ if (ClientIPC::getInstance().sendMessage(msg) == true)
{
result = SCARD_ERROR_OK;
}
return result;
}
- Channel *Session::openBasicChannelSync(ByteArray &aid)
+ Channel *Session::openBasicChannelSync(const ByteArray &aid)
throw (ErrorIO &, ErrorIllegalState &, ErrorIllegalParameter &, ErrorSecurity &)
{
return openChannelSync(0, aid);
}
- Channel *Session::openBasicChannelSync(unsigned char *aid, unsigned int length)
+ Channel *Session::openBasicChannelSync(const unsigned char *aid, unsigned int length)
throw (ErrorIO &, ErrorIllegalState &, ErrorIllegalParameter &, ErrorSecurity &)
{
ByteArray temp(aid, length);
return openBasicChannelSync(temp);
}
- int Session::openBasicChannel(ByteArray &aid, openChannelCallback callback, void *userData)
+ int Session::openBasicChannel(const ByteArray &aid, openChannelCallback callback, void *userData)
{
return openChannel(0, aid, callback, userData);
}
- int Session::openBasicChannel(unsigned char *aid, unsigned int length,
+ int Session::openBasicChannel(const unsigned char *aid, unsigned int length,
openChannelCallback callback, void *userData)
{
ByteArray temp(aid, length);
return openBasicChannel(temp, callback, userData);
}
- Channel *Session::openLogicalChannelSync(ByteArray &aid)
+ Channel *Session::openLogicalChannelSync(const ByteArray &aid)
throw (ErrorIO &, ErrorIllegalState &, ErrorIllegalParameter &, ErrorSecurity &)
{
return openChannelSync(1, aid);
}
- Channel *Session::openLogicalChannelSync(unsigned char *aid, unsigned int length)
+ Channel *Session::openLogicalChannelSync(const unsigned char *aid, unsigned int length)
throw (ErrorIO &, ErrorIllegalState &, ErrorIllegalParameter &, ErrorSecurity &)
{
ByteArray temp(aid, length);
return openLogicalChannelSync(temp);
}
- int Session::openLogicalChannel(ByteArray &aid, openChannelCallback callback, void *userData)
+ int Session::openLogicalChannel(const ByteArray &aid, openChannelCallback callback, void *userData)
{
return openChannel(1, aid, callback, userData);
}
- int Session::openLogicalChannel(unsigned char *aid, unsigned int length,
+ int Session::openLogicalChannel(const unsigned char *aid, unsigned int length,
openChannelCallback callback, void *userData)
{
ByteArray temp(aid, length);
getATRCallback cb = (getATRCallback)msg->callback;
/* async call */
- cb(msg->data.getBuffer(), msg->data.getLength(), msg->error, msg->userParam);
+ cb(msg->data.getBuffer(),
+ msg->data.size(),
+ msg->error,
+ msg->userParam);
}
}
break;
break;
default :
- _DBG("unknown message : %s", msg->toString());
+ _DBG("unknown message : %s", msg->toString().c_str());
break;
}
SESSION_EXTERN_BEGIN;
temp = session->getATRSync();
- if (temp.getLength() > 0)
+ if (temp.size() > 0)
{
- *length = temp.getLength();
+ *length = temp.size();
*buffer = (unsigned char *)calloc(1, *length);
memcpy(*buffer, temp.getBuffer(), *length);