diff options
Diffstat (limited to 'src/components/formatters/src/meta_formatter.cc')
-rw-r--r-- | src/components/formatters/src/meta_formatter.cc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/components/formatters/src/meta_formatter.cc b/src/components/formatters/src/meta_formatter.cc new file mode 100644 index 0000000000..145020a5e2 --- /dev/null +++ b/src/components/formatters/src/meta_formatter.cc @@ -0,0 +1,60 @@ +/** + * @file meta_fromatter.cc + * @brief implementation of class CMetaFormatter which is designed to format + * the smart object against given schema for given formatter + */ +// Copyright (c) 2013, Ford Motor Company +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following +// disclaimer in the documentation and/or other materials provided with the +// distribution. +// +// Neither the name of the Ford Motor Company nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 'A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE.auto + +#include <set> +#include <string> + +#include "formatters/meta_formatter.h" + +namespace formatter_ns = NsSmartDeviceLink::NsJSONHandler::Formatters; +namespace smart_objects_ns = NsSmartDeviceLink::NsSmartObjects; + +//--------------------------------------------------------------- + +bool formatter_ns::CMetaFormatter::CreateObjectByPattern( + const NsSmartDeviceLink::NsSmartObjects::SmartObject& object, + const NsSmartDeviceLink::NsSmartObjects::CSmartSchema& schema, + NsSmartDeviceLink::NsSmartObjects::SmartObject& result_object) { + + if (smart_objects_ns::SmartType_Invalid == result_object.getType()) { + return false; + } + + schema.BuildObjectBySchema(object, result_object); + + result_object.setSchema(schema); + + return true; +} |