diff options
Diffstat (limited to 'SDL_Core/src/components/smart_objects/include/smart_objects/object_schema_item.h')
-rw-r--r-- | SDL_Core/src/components/smart_objects/include/smart_objects/object_schema_item.h | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/SDL_Core/src/components/smart_objects/include/smart_objects/object_schema_item.h b/SDL_Core/src/components/smart_objects/include/smart_objects/object_schema_item.h deleted file mode 100644 index aa3ba7be8..000000000 --- a/SDL_Core/src/components/smart_objects/include/smart_objects/object_schema_item.h +++ /dev/null @@ -1,164 +0,0 @@ -// 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. - -#ifndef SRC_COMPONENTS_SMART_OBJECTS_INCLUDE_SMART_OBJECTS_OBJECT_SCHEMA_ITEM_H_ -#define SRC_COMPONENTS_SMART_OBJECTS_INCLUDE_SMART_OBJECTS_OBJECT_SCHEMA_ITEM_H_ - -#include <map> -#include <string> - -#include "utils/shared_ptr.h" - -#include "smart_objects/schema_item.h" -#include "smart_objects/schema_item_parameter.h" - - -namespace NsSmartDeviceLink { -namespace NsSmartObjects { -/** - * @brief Object schema item. - **/ -class CObjectSchemaItem : public ISchemaItem { - public: - /** - * @brief Object member. - **/ - struct SMember { - /** - * @brief Default constructor. - **/ - SMember(void); - - /** - * @brief Constructor. - * - * @param SchemaItem Member schema item. - * @param IsMandatory true if member is mandatory, false - * otherwise. Defaults to true. - **/ - SMember(const utils::SharedPtr<ISchemaItem>& SchemaItem, - const bool IsMandatory = true); - - /** - * @brief Member schema item. - **/ - utils::SharedPtr<ISchemaItem> mSchemaItem; - - /** - * @brief true if member is mandatory, false otherwise. - **/ - bool mIsMandatory; - }; - - /** - * @brief Create a new schema item. - * - * @param Members Map of member name to SMember structure - * describing the object member. - * - * @return Shared pointer to a new schema item. - **/ - static utils::SharedPtr<CObjectSchemaItem> create( - const std::map<std::string, SMember>& Members); - - /** - * @brief Validate smart object. - * - * @param Object Object to validate. - * - * @return NsSmartObjects::Errors::eType - **/ - virtual Errors::eType validate(const SmartObject& Object); - - /** - * @brief Apply schema. - * - * @param Object Object to apply schema. - **/ - virtual void applySchema(SmartObject& Object); - - /** - * @brief Unapply schema. - * - * @param Object Object to unapply schema. - **/ - virtual void unapplySchema(SmartObject& Object); - - /** - * @brief Build smart object by smart schema having copied matched - * parameters from pattern smart object - * - * @param pattern_object pattern object - * @param result_object object to build - */ - virtual void BuildObjectBySchema(const SmartObject& pattern_object, - SmartObject& result_object); - - virtual ~CObjectSchemaItem() { - } - - protected: - /** - * @brief Constructor. - * - * @param Members Map of member name to SMember structure - * describing the object member. - **/ - CObjectSchemaItem(const std::map<std::string, SMember>& Members); - - /** - * @brief Copy constructor. - * - * Not implemented to prevent misuse. - * - * @param Other Other schema item. - **/ - CObjectSchemaItem(const CObjectSchemaItem& Other); - - /** - * @brief Assignment operator. - * - * Not implemented to prevent misuse. - * - * @param Other Other schema item. - * - * @return Not implemented. - **/ - CObjectSchemaItem & operator =(const CObjectSchemaItem& Other); - - /** - * @brief Map of member name to SMember structure describing the object member. - **/ - const std::map<std::string, SMember> mMembers; -}; -} // namespace NsSmartObjects -} // namespace NsSmartDeviceLink - -#endif // SRC_COMPONENTS_SMART_OBJECTS_INCLUDE_SMART_OBJECTS_OBJECT_SCHEMA_ITEM_H_ |