Exemplo n.º 1
0
        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()
            );
        }
Exemplo n.º 2
0
        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());
        }