2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
18 #include <klay/exception.h>
20 #include "app-bundle.h"
25 handle = ::bundle_create();
26 if (handle == nullptr) {
27 throw runtime::Exception("Failed to create bundle");
33 ::bundle_free(handle);
36 void Bundle::addInternal(const std::string& key, const std::string& value)
38 ::bundle_add_str(handle, key.c_str(), value.c_str());
41 void Bundle::addArrayInternal(const std::string& key, const std::vector<std::string>& array)
43 std::unique_ptr<const char*[]> arrayptr(new const char*[array.size()]);
46 for (const std::string& data : array) {
47 arrayptr.get()[index++] = data.c_str();
50 ::bundle_add_str_array(handle, key.c_str(), arrayptr.get(), array.size());