2
* Copyright (c) 2024 Huawei Device Co., Ltd.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
7
* http://www.apache.org/licenses/LICENSE-2.0
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
16
#include "ArgDeserializerBase.h"
21
struct MyDeserializer : CustomDeserializer {
22
std::vector<string> supported;
24
supported.push_back("Function");
25
supported.push_back("Resource");
26
ArgDeserializerBase::registerCustomDeserializer(this);
28
virtual bool supports(const string& kind) {
29
return std::find(supported.begin(), supported.end(), kind) != supported.end();
31
virtual CustomObject deserialize(ArgDeserializerBase* deserializer, const string& kind) {
32
String value = deserializer->readString();
33
fprintf(stderr, "native deserialize() for %s, got %s\n", kind.c_str(), value.c_str());
34
return CustomObject(string("NativeError") + kind);
39
MyDeserializer deserilizer;