Apply tizen 2.4 smartcard-service
[platform/core/connectivity/smartcard-service.git] / common / PKCS15DODF.cpp
index 6e9d9cf..ea1cde6 100644 (file)
 
 namespace smartcard_service_api
 {
-//     PKCS15DODF::PKCS15DODF():PKCS15Object()
-//     {
-//
-//     }
-
-       PKCS15DODF::PKCS15DODF(unsigned int fid, Channel *channel):PKCS15Object(channel)
+       PKCS15DODF::PKCS15DODF(unsigned int fid, Channel *channel) :
+               PKCS15Object(channel)
        {
                int ret = 0;
 
-               if ((ret = select(fid)) == 0)
+               if ((ret = select(fid)) >= SCARD_ERROR_OK)
                {
                        ByteArray dodfData, extra;
 
-                       _DBG("response : %s", selectResponse.toString());
+                       _DBG("response : %s", selectResponse.toString().c_str());
 
-                       if ((ret = readBinary(0, 0, getFCP()->getFileSize(), dodfData)) == 0)
+                       if ((ret = readBinaryAll(0, dodfData)) == 0)
                        {
-                               _DBG("odfData : %s", dodfData.toString());
+                               _DBG("dodfData : %s", dodfData.toString().c_str());
 
                                parseData(dodfData);
                        }
@@ -57,19 +53,20 @@ namespace smartcard_service_api
                }
        }
 
-       PKCS15DODF::PKCS15DODF(ByteArray path, Channel *channel):PKCS15Object(channel)
+       PKCS15DODF::PKCS15DODF(const ByteArray &path, Channel *channel) :
+               PKCS15Object(channel)
        {
                int ret = 0;
 
-               if ((ret = select(path)) == 0)
+               if ((ret = select(path)) >= SCARD_ERROR_OK)
                {
                        ByteArray dodfData, extra;
 
-                       _DBG("response : %s", selectResponse.toString());
+                       _DBG("response : %s", selectResponse.toString().c_str());
 
-                       if ((ret = readBinary(0, 0, getFCP()->getFileSize(), dodfData)) == 0)
+                       if ((ret = readBinaryAll(0, dodfData)) == 0)
                        {
-                               _DBG("dodfData : %s", dodfData.toString());
+                               _DBG("dodfData : %s", dodfData.toString().c_str());
 
                                parseData(dodfData);
                        }
@@ -88,7 +85,7 @@ namespace smartcard_service_api
        {
        }
 
-       bool PKCS15DODF::parseData(ByteArray data)
+       bool PKCS15DODF::parseData(const ByteArray &data)
        {
                bool result = false;
                SimpleTLV tlv(data);
@@ -101,28 +98,27 @@ namespace smartcard_service_api
                                {
                                        PKCS15OID oid(tlv.getValue());
 
-                                       _DBG("OID DataObject");
+                                       _DBG("OID DataObject : %s", oid.getOID().toString().c_str());
 
-                                       pair<ByteArray, PKCS15OID> newPair(oid.getOID(), oid);
-                                       mapOID.insert(newPair);
+                                       mapOID.insert(make_pair(oid.getOID(), oid));
                                }
                                break;
 
                        default :
-                               _DBG("Unknown tlv : t [%X], l [%d], v %s", tlv.getTag(), tlv.getLength(), tlv.getValue().toString());
+                               _DBG("Unknown tlv : t [%X], l [%d], v %s", tlv.getTag(), tlv.size(), tlv.getValue().toString().c_str());
                                break;
                        }
                }
 
-               _DBG("dataList.size() = %d", mapOID.size());
+               _INFO("dataList.size() = %d", mapOID.size());
 
                return result;
        }
 
-       int PKCS15DODF::searchOID(ByteArray oid, ByteArray &data)
+       int PKCS15DODF::searchOID(const ByteArray &oid, ByteArray &data) const
        {
                int result = -1;
-               map<ByteArray, PKCS15OID>::iterator item;
+               map<ByteArray, PKCS15OID>::const_iterator item;
 
                item = mapOID.find(oid);
                if (item != mapOID.end())