diff options
Diffstat (limited to 'tools/intergen/cppgen/src/cppgen')
8 files changed, 8 insertions, 264 deletions
diff --git a/tools/intergen/cppgen/src/cppgen/cpp_interface_code_generator.cc b/tools/intergen/cppgen/src/cppgen/cpp_interface_code_generator.cc index 49bd758b6e..519e6a06e2 100644 --- a/tools/intergen/cppgen/src/cppgen/cpp_interface_code_generator.cc +++ b/tools/intergen/cppgen/src/cppgen/cpp_interface_code_generator.cc @@ -183,9 +183,6 @@ void CppInterfaceCodeGenerator::GenerateMessageFactories() { if (preferences_->generate_json) { ser_types[ser_types_count++] = MessageFactoryFunction::kJson; } - if (preferences_->generate_dbus) { - ser_types[ser_types_count++] = MessageFactoryFunction::kDbus; - } for (size_t i = 0; i < ser_types_count; ++i) { MessageFactoryFunction request_factory(interface_, diff --git a/tools/intergen/cppgen/src/cppgen/declaration_generator.cc b/tools/intergen/cppgen/src/cppgen/declaration_generator.cc index 46e459198e..649ffd8c68 100644 --- a/tools/intergen/cppgen/src/cppgen/declaration_generator.cc +++ b/tools/intergen/cppgen/src/cppgen/declaration_generator.cc @@ -47,7 +47,6 @@ #include "cppgen/module_manager.h" #include "cppgen/naming_convention.h" #include "cppgen/struct_type_constructor.h" -#include "cppgen/struct_type_dbus_serializer.h" #include "cppgen/struct_type_from_json_method.h" #include "cppgen/struct_type_is_initialized_method.h" #include "cppgen/struct_type_is_valid_method.h" @@ -98,14 +97,6 @@ void DeclareExternalTypes(const TypePreferences& prefs, Namespace* ns) { Namespace::ForwardDeclaration( Namespace::ForwardDeclaration::kClass, "Value")); } - if (prefs.generate_dbus) { - ns->nested("dbus").ForwardDeclare( - Namespace::ForwardDeclaration( - Namespace::ForwardDeclaration::kClass, "MessageReader")); - ns->nested("dbus").ForwardDeclare( - Namespace::ForwardDeclaration( - Namespace::ForwardDeclaration::kClass, "MessageWriter")); - } } } @@ -172,13 +163,6 @@ void DeclarationGenerator::GenerateCodeForStruct(const Struct* strct) { StructTypeFromJsonConstructor(strct, base_class_name).Declare(&o , true); StructTypeToJsonMethod(strct).Declare(&o , true); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor( - preferences_, strct, true, base_class_name).Declare(&o, true); - StructTypeToDbusWriterMethod(strct, true).Declare(&o , true); - StructTypeDbusMessageSignatureMethod(preferences_, - strct, true).Declare(&o, true); - } StructTypeIsValidMethod(strct).Declare(&o, true); StructTypeIsInitializedMethod(strct).Declare(&o, true); StructTypeStructEmptyMethod(strct).Declare(&o, true); @@ -284,13 +268,6 @@ void DeclarationGenerator::GenerateCodeForRequest(const Request& request, StructTypeFromJsonConstructor(&request, base_class_name).Declare(&o , true); StructTypeToJsonMethod(&request).Declare(&o , true); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, &request, false, - base_class_name).Declare(&o, true); - StructTypeToDbusWriterMethod(&request, false).Declare(&o , true); - StructTypeDbusMessageSignatureMethod(preferences_, - &request, false).Declare(&o, true); - } StructTypeIsValidMethod(&request).Declare(&o, true); StructTypeIsInitializedMethod(&request).Declare(&o, true); StructTypeStructEmptyMethod(&request).Declare(&o, true); @@ -336,14 +313,6 @@ void DeclarationGenerator::GenerateCodeForResponse(const Response& response) { StructTypeToJsonMethod(&response).Declare(&o , true); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, &response, false, - base_class_name).Declare(&o, true); - StructTypeToDbusWriterMethod(&response, false).Declare(&o , true); - - StructTypeDbusMessageSignatureMethod(preferences_, - &response, false).Declare(&o, true); - } StructTypeIsValidMethod(&response).Declare(&o, true); StructTypeIsInitializedMethod(&response).Declare(&o, true); StructTypeStructEmptyMethod(&response).Declare(&o, true); @@ -389,13 +358,6 @@ void DeclarationGenerator::GenerateCodeForNotification( StructTypeFromJsonConstructor(¬ification, base_class_name).Declare(&o , true); StructTypeToJsonMethod(¬ification).Declare(&o , true); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, ¬ification, false, - base_class_name).Declare(&o , true); - StructTypeToDbusWriterMethod(¬ification, false).Declare(&o , true); - StructTypeDbusMessageSignatureMethod(preferences_, - ¬ification, false).Declare(&o, true); - } StructTypeIsValidMethod(¬ification).Declare(&o, true); StructTypeIsInitializedMethod(¬ification).Declare(&o, true); StructTypeStructEmptyMethod(¬ification).Declare(&o, true); diff --git a/tools/intergen/cppgen/src/cppgen/definition_generator.cc b/tools/intergen/cppgen/src/cppgen/definition_generator.cc index e2ad0ded04..b5e404fa71 100644 --- a/tools/intergen/cppgen/src/cppgen/definition_generator.cc +++ b/tools/intergen/cppgen/src/cppgen/definition_generator.cc @@ -40,7 +40,6 @@ #include "cppgen/message_handle_with_method.h" #include "cppgen/module_manager.h" #include "cppgen/struct_type_constructor.h" -#include "cppgen/struct_type_dbus_serializer.h" #include "cppgen/struct_type_from_json_method.h" #include "cppgen/struct_type_is_initialized_method.h" #include "cppgen/struct_type_is_valid_method.h" @@ -97,13 +96,6 @@ void DefinitionGenerator::GenerateCodeForStruct(const Struct* strct) { StructTypeFromJsonConstructor(strct, base_class_name).Define(&o , false); StructTypeToJsonMethod(strct).Define(&o , false); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, strct, true, - base_class_name).Define(&o , false); - StructTypeToDbusWriterMethod(strct, true).Define(&o , false); - StructTypeDbusMessageSignatureMethod(preferences_, - strct, true).Define(&o, false); - } StructTypeIsValidMethod(strct).Define(&o, false); StructTypeIsInitializedMethod(strct).Define(&o, false); StructTypeStructEmptyMethod(strct).Define(&o, false); @@ -137,13 +129,6 @@ void DefinitionGenerator::GenerateCodeForResponse(const Response& response) { StructTypeFromJsonConstructor(&response, base_class_name).Define(&o , false); StructTypeToJsonMethod(&response).Define(&o , false); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, &response, false, - base_class_name).Define(&o , false); - StructTypeToDbusWriterMethod(&response, false).Define(&o , false); - StructTypeDbusMessageSignatureMethod(preferences_, - &response, false).Define(&o, false); - } MessageHandleWithMethod(response.name()).Define(&o, false); StructTypeIsValidMethod(&response).Define(&o, false); StructTypeIsInitializedMethod(&response).Define(&o, false); @@ -173,13 +158,6 @@ void DefinitionGenerator::GenerateCodeForNotification( StructTypeFromJsonConstructor(¬ification, base_class_name).Define(&o , false); StructTypeToJsonMethod(¬ification).Define(&o , false); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, ¬ification, false, - base_class_name).Define(&o, false); - StructTypeToDbusWriterMethod(¬ification, false).Define(&o , false); - StructTypeDbusMessageSignatureMethod(preferences_, - ¬ification, false).Define(&o, false); - } MessageHandleWithMethod(notification.name()).Define(&o, false); StructTypeIsValidMethod(¬ification).Define(&o, false); StructTypeIsInitializedMethod(¬ification).Define(&o, false); @@ -209,13 +187,6 @@ void DefinitionGenerator::GenerateCodeForRequest(const Request& request, StructTypeFromJsonConstructor(&request, base_class_name).Define(&o , false); StructTypeToJsonMethod(&request).Define(&o , false); } - if (preferences_->generate_dbus) { - StructTypeFromDbusReaderConstructor(preferences_, &request, false, - base_class_name).Define(&o , false); - StructTypeToDbusWriterMethod(&request, false).Define(&o , false); - StructTypeDbusMessageSignatureMethod(preferences_, - &request, false).Define(&o, false); - } StructTypeIsValidMethod(&request).Define(&o, false); StructTypeIsInitializedMethod(&request).Define(&o, false); StructTypeStructEmptyMethod(&request).Define(&o, false); diff --git a/tools/intergen/cppgen/src/cppgen/generator_preferences.cc b/tools/intergen/cppgen/src/cppgen/generator_preferences.cc index ca5b12e2d9..cc3bbe0819 100644 --- a/tools/intergen/cppgen/src/cppgen/generator_preferences.cc +++ b/tools/intergen/cppgen/src/cppgen/generator_preferences.cc @@ -44,21 +44,18 @@ namespace codegen { TypePreferences::TypePreferences(int minimum_interger_size, bool avoid_unsigned, - bool generate_json, - bool generate_dbus) + bool generate_json) : minimum_interger_size(minimum_interger_size), avoid_unsigned(avoid_unsigned), - generate_json(generate_json), - generate_dbus(generate_dbus) { + generate_json(generate_json) { } Preferences::Preferences(int minimum_interger_size, bool avoid_unsigned, bool generate_json, - bool generate_dbus, const std::set<std::string>& requested_interfaces) : type_preferences(minimum_interger_size, avoid_unsigned, - generate_json, generate_dbus), + generate_json), requested_interfaces(requested_interfaces) { } diff --git a/tools/intergen/cppgen/src/cppgen/handler_interface.cc b/tools/intergen/cppgen/src/cppgen/handler_interface.cc index 57b41523fd..a078b7af9a 100644 --- a/tools/intergen/cppgen/src/cppgen/handler_interface.cc +++ b/tools/intergen/cppgen/src/cppgen/handler_interface.cc @@ -76,7 +76,7 @@ void HandlerInterface::CollectMethods() { assert(!"Unexpected function message type"); } } - std::auto_ptr<CppClass::Method> destructor( + std::unique_ptr<CppClass::Method> destructor( new CppClass::Method(this, CppClass::kPublic, "~"+name(), "", CppFunction::kVirtual)); @@ -93,7 +93,7 @@ void HandlerInterface::AddFunctionMessageHandlers( message_ns.ForwardDeclare(Namespace::ForwardDeclaration( Namespace::ForwardDeclaration::kStruct, func_msg->name())); - std::auto_ptr<CppClass::Method> method( + std::unique_ptr<CppClass::Method> method( new CppClass::Method( this, CppClass::kPublic, "Handle" + func_msg->name(), "void", CppFunction::kVirtual | CppFunction::kAbstract)); diff --git a/tools/intergen/cppgen/src/cppgen/message_factory_function.cc b/tools/intergen/cppgen/src/cppgen/message_factory_function.cc index 2cfc3ea0cd..bce7ef50b2 100644 --- a/tools/intergen/cppgen/src/cppgen/message_factory_function.cc +++ b/tools/intergen/cppgen/src/cppgen/message_factory_function.cc @@ -47,15 +47,15 @@ MessageFactoryFunction::MessageFactoryFunction( SerializationType serialization_type, FunctionMessage::MessageType factory_type) : CppFunction("", - serialization_type == kJson ? "NewFromJson" : "NewFromDbus", + "NewFromJson", Capitalize( FunctionMessage::MessageTypeToString( factory_type)) + "*"), interface_(interface), factory_type_(factory_type) { Add(MessageFactoryFunction::Parameter( - serialization_type == kJson ? "json" : "reader", - serialization_type == kJson ? "const Json::Value*": "dbus::MessageReader*")); + "json", + "const Json::Value*")); Add(MessageFactoryFunction::Parameter("function_id", "FunctionID")); } diff --git a/tools/intergen/cppgen/src/cppgen/module_manager.cc b/tools/intergen/cppgen/src/cppgen/module_manager.cc index 494e279e5c..104e3fa856 100644 --- a/tools/intergen/cppgen/src/cppgen/module_manager.cc +++ b/tools/intergen/cppgen/src/cppgen/module_manager.cc @@ -105,12 +105,6 @@ ModuleManager::ModuleManager(const std::string& name, functions_source_.Include( CppFile::Header("rpc_base/rpc_base_json_inl.h", true)); } - if (prefs.generate_dbus) { - structs_source_.Include( - CppFile::Header("rpc_base/rpc_base_dbus_inl.h", true)); - functions_source_.Include( - CppFile::Header("rpc_base/rpc_base_dbus_inl.h", true)); - } } ModuleManager::~ModuleManager() { diff --git a/tools/intergen/cppgen/src/cppgen/struct_type_dbus_serializer.cc b/tools/intergen/cppgen/src/cppgen/struct_type_dbus_serializer.cc deleted file mode 100644 index 5040652e43..0000000000 --- a/tools/intergen/cppgen/src/cppgen/struct_type_dbus_serializer.cc +++ /dev/null @@ -1,177 +0,0 @@ -/* Copyright (c) 2014, 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. - */ - -#include "cppgen/struct_type_dbus_serializer.h" - -#include "cppgen/naming_convention.h" -#include "cppgen/type_name_code_generator.h" -#include "model/composite_type.h" -#include "utils/safeformat.h" - -using typesafe_format::strmfmt; - -namespace codegen { - -StructTypeDbusMessageSignatureMethod::StructTypeDbusMessageSignatureMethod( - const TypePreferences* preferences, - const Struct* strct, - bool substructure) - : CppFunction(strct->name(), "GetDbusSignature", "void", kStatic), - preferences_(preferences), - substructure_(substructure), - strct_(strct) { - Add(Parameter("signature", "std::string*")); -} - -StructTypeDbusMessageSignatureMethod::~StructTypeDbusMessageSignatureMethod() { -} - -void StructTypeDbusMessageSignatureMethod::DefineBody(std::ostream* os) const { - const Struct::FieldsList& fields = strct_->fields(); - if (!fields.empty()) { - if (substructure_) { - *os << "(*signature) += DBUS_STRUCT_BEGIN_CHAR;\n"; - } - for (Struct::FieldsList::const_iterator i = fields.begin(), - end = fields.end(); i != end; ++i) { - // Field is considered optional if it has mandatory=false attribute and - // if it does NOT have default values. Fields that have default values are - // always available no mater if they present in input or not - bool field_is_optional = false; - if (!i->is_mandatory()) { - if (i->default_value() == NULL) { - field_is_optional = true; - } - } - std::string field_type = RpcTypeNameGenerator(&strct_->interface(), - preferences_, - i->type(), - field_is_optional).result(); - strmfmt(*os, "rpc::DbusSignature< {0} >({1});\n", - field_type, parameters_[0].name); - - } - if (substructure_) { - *os << "(*signature) += DBUS_STRUCT_END_CHAR;\n"; - } - } -} - -StructTypeFromDbusReaderConstructor::StructTypeFromDbusReaderConstructor( - const TypePreferences* preferences, - const Struct* strct, - bool substructure, - const std::string& base_class_name) - : CppStructConstructor(strct->name()), - preferences_(preferences), - strct_(strct), - substructure_(substructure) { - Add(Parameter("reader__", "dbus::MessageReader*")); - std::string base_initializer = "reader__"; - if (!strct->frankenstruct()) { - base_initializer = "InitHelper(true)"; - } - Add(Initializer(base_class_name, base_initializer)); - // In case of non-substructure use initializer list to initialize fields - // From MessageReader passed in - if (!substructure_) { - const Struct::FieldsList& fields = strct->fields(); - for (Struct::FieldsList::const_iterator i = fields.begin(), end = fields.end(); - i != end; ++i) { - Add(Initializer(AvoidKeywords(i->name()), - "reader__")); - } - } -} - -StructTypeFromDbusReaderConstructor::~StructTypeFromDbusReaderConstructor() { -} - -void StructTypeFromDbusReaderConstructor::DefineBody(std::ostream* os) const { - const Struct::FieldsList& fields = strct_->fields(); - // If initializing substructure (a structure that is used as - // a field of other structure) additional structure reading iterator - // should be created - if (substructure_ && !fields.empty()) { - *os << "dbus::MessageReader subreader__ = reader__->TakeStructReader();\n"; - for (Struct::FieldsList::const_iterator i = fields.begin(), end = fields.end(); - i != end; ++i) { - // Field is considered optional if it has mandatory=false attribute and - // if it does NOT have default values. Fields that have default values are - // always available no mater if they present in input or not - bool field_is_optional = false; - if (!i->is_mandatory()) { - if (i->default_value() == NULL) { - field_is_optional = true; - } - } - std::string field_type = RpcTypeNameGenerator(&strct_->interface(), - preferences_, - i->type(), - field_is_optional).result(); - strmfmt(*os, "{0} = {1}(&subreader__);\n", i->name(), field_type); - } - } -} - -StructTypeToDbusWriterMethod::StructTypeToDbusWriterMethod( - const Struct* strct, - bool substructure) - : CppFunction(strct->name(), "ToDbusWriter", "void", kConst), - substructure_(substructure), - strct_(strct) { - Add(Parameter("writer__", "dbus::MessageWriter*")); -} - -StructTypeToDbusWriterMethod::~StructTypeToDbusWriterMethod() { - -} - -void StructTypeToDbusWriterMethod::DefineBody(std::ostream* os) const { - const Struct::FieldsList& fields = strct_->fields(); - if (!fields.empty()) { - std::string writer_ptr_name = parameters_[0].name; - if (substructure_) { - strmfmt(*os, "dbus::MessageWriter subwriter__({0}, dbus::kStruct, NULL);\n", - writer_ptr_name); - writer_ptr_name = "&subwriter__"; - } - for (Struct::FieldsList::const_iterator i = fields.begin(), end = fields.end(); - i != end; ++i) { - strmfmt(*os, "{0}.ToDbusWriter({1});\n", - i->name(), - writer_ptr_name); - } - } -} - - -} // namespace codegen |