//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
}
}
break;
+ case BUNDLE_TYPE_BYTE:
+ bundle_keyval_get_basic_val(const_cast<bundle_keyval_t*>(pVal), reinterpret_cast<void**>(&pStr), &size);
+
+ SysLog(NID_IO, "Bundle byte value = %s, size = %d", pStr, size);
+
+ if (pStr)
+ {
+ ByteBuffer* pBuffer = new (std::nothrow) ByteBuffer();
+ SysTryLog(NID_IO, pBuffer != null, "The memory is insufficient.");
+ result r = pBuffer->Construct(size);
+ SysTryLog(NID_IO, r == E_SUCCESS, "Constructing pBuffer is failed.");
+
+ r = pBuffer->SetArray((const byte*)pStr, 0, size);
+ SysTryLog(NID_IO, r == E_SUCCESS, "SetArray()for ByteBuffer is failed.");
+
+ pBuffer->Flip();
+
+ pMap->Add(new (std::nothrow) String(pKey), pBuffer);
+ }
+ break;
default:
SysLog(NID_APP, "Invalid type for %s : %d", pKey, type);
break;
else if (typeid(*pObj) == typeid(const ByteBuffer))
{
SysLog(NID_APP, "ByteBuffer type");
+ const ByteBuffer* pBuffer = static_cast<const ByteBuffer*>(pObj);
+
+ std::unique_ptr<char[]> pBundleKey(_StringConverter::CopyToCharArrayN(*pKey));
+ bundle_add_byte(b, pBundleKey.get(), pBuffer->GetPointer(), pBuffer->GetLimit());
}
}
}