public override void PreProcess() { DictCreatorFactory dictfactoryIn = new marshal.inward.DictCreatorMarshalInFactory(); DictCreatorFactory dictfactoryOut = new marshal.outward.DictCreatorMarshalOutFactory(); codetypefactoryOut = new CodeTypeFactory(new marshal.outward.StructCreatorMarshalOutFactory(), dictfactoryOut, dictfactoryOut); codetypefactoryIn = new CodeTypeFactory(new marshal.inward.StructCreatorMarshalInFactory(), dictfactoryIn, dictfactoryIn); stmtAssignConnectionParameters = new CodeAssignStatement(fieldrefConnectionParameters, CodeBuilderCommon.argrefConnectionParameters); fieldrefDefaultConnectionParams = new CodeFieldReferenceExpression(null, DefaultConnectionParametersName); stmtAssignServiceConnectionParameters = new CodeAssignStatement(CodeBuilderCommon.fieldrefServiceConnectionParameters, CodeBuilderCommon.argrefServiceConnectionParameters); declarationHolderCustomTypesNs = new Udbus.Parsing.CodeTypeDeferredNamespaceDeclarationHolder(CodeBuilderCommon.nsDbusMarshalCustom); // If utilised, this namespace is nested in service's namespace. declarationHolderDictionaryMarshalNs = new Udbus.Parsing.CodeTypeDeferredNamespaceDeclarationHolder(CodeBuilderCommon.nsDbusMarshalNested); declarationHolder = new Udbus.Parsing.CodeMemberDeferredClassHolder(declarationHolderCustomTypesNs , "Marshal" , declarationHolderDictionaryMarshalNs , CodeBuilderCommon.GetNameMarshalDictionary() ); }
public override void ProcessNamespaces(IDLInterface idlIntf) { ifPath = idlIntf.Path; nsName = CodeBuilderCommon.GetNamespace(idlIntf.Name, new InterfaceVisitor()); ifName = CodeBuilderCommon.GetName(idlIntf.Name, new InterfaceVisitor()); exprInterfaceName = new CodePrimitiveExpression(idlIntf.Name); exprDestinationName = generateDbusDestinationName(idlIntf, out DestinationOverride); // Setup namespaces. if (declarationHolderDictionaryMarshalNs.ns != null) // If dictionary marshalling namespace { // Reset. declarationHolderDictionaryMarshalNs = new Udbus.Parsing.CodeTypeDeferredNamespaceDeclarationHolder(CodeBuilderCommon.nsDbusMarshalNested); declarationHolder.ResetDictionary(declarationHolderDictionaryMarshalNs); } // Ends if dictionary marshalling namespace // Namespace. ns = new CodeNamespace(nsName); CodeBuilderCommon.AddUsingNamespaces(ns, new MarshalVisitor()); }