Ejemplo n.º 1
0
        void CreateWindowsConfigFileInfo()
        {
            if (this.PluginInfo.WindowsPlatform != null)
            {
                PluginInfo.ConfigFeatureInfo pluginFeatureInfo = new PluginInfo.ConfigFeatureInfo
                {
                    Name   = c3pServiceName,
                    Params = new List <PluginInfo.ConfigParamInfo>(new[]
                    {
                        // TODO: Use some alternate means to configure the list of proxied namespaces.
                        new PluginInfo.ConfigParamInfo
                        {
                            Name  = "plugin-namespace:" + c3pNamespace,
                            Value = String.Empty,
                        },
                        new PluginInfo.ConfigParamInfo
                        {
                            Name  = "plugin-namespace:" + c3pCordovaNamespace,
                            Value = String.Empty,
                        },
                    }),
                };

                foreach (PluginInfo.NamespaceMappingInfo nsMapping
                         in this.PluginInfo.WindowsPlatform.NamespaceMappings)
                {
                    if (!String.IsNullOrEmpty(nsMapping.Namespace))
                    {
                        pluginFeatureInfo.Params.Add(new PluginInfo.ConfigParamInfo
                        {
                            Name  = "plugin-namespace:" + nsMapping.Namespace,
                            Value = String.Empty,
                        });
                    }
                }

                foreach (PluginInfo.AssemblyClassInfo classInfo in this.PluginInfo.Assembly.Classes
                         .Where(c => c.MarshalByValue == "true"))
                {
                    pluginFeatureInfo.Params.Add(new PluginInfo.ConfigParamInfo
                    {
                        Name  = "plugin-class:" + classInfo.Name,
                        Value = "marshal-by-value",
                    });
                }

                this.PluginInfo.WindowsPlatform.ConfigFiles.Add(new PluginInfo.ConfigFileInfo
                {
                    Target   = "config.xml",
                    Parent   = "/*",
                    Features = new List <PluginInfo.ConfigFeatureInfo>(new[] { pluginFeatureInfo }),
                });
            }
        }
Ejemplo n.º 2
0
        void CreateIOSConfigFileInfo()
        {
            if (this.PluginInfo.IOSPlatform != null)
            {
                PluginInfo.ConfigFeatureInfo pluginFeatureInfo = new PluginInfo.ConfigFeatureInfo
                {
                    Name   = c3pServiceName,
                    Params = new List <PluginInfo.ConfigParamInfo>(new[]
                    {
                        new PluginInfo.ConfigParamInfo
                        {
                            Name  = "ios-package",
                            Value = cordovaPluginIOSClass,
                        },
                        new PluginInfo.ConfigParamInfo
                        {
                            Name  = "plugin-namespace:" + c3pIOSPrefix,
                            Value = c3pNamespace,
                        },
                        new PluginInfo.ConfigParamInfo
                        {
                            Name  = "plugin-namespace:" + c3pCordovaIOSPrefix,
                            Value = c3pCordovaNamespace,
                        },
                    }),
                };

                foreach (PluginInfo.NamespaceMappingInfo nsMapping
                         in this.PluginInfo.IOSPlatform.NamespaceMappings)
                {
                    if (String.IsNullOrEmpty(nsMapping.Prefix))
                    {
                        throw new InvalidOperationException(
                                  "Missing prefix for IOS namespace mapping: " + nsMapping.Namespace);
                    }

                    pluginFeatureInfo.Params.Add(new PluginInfo.ConfigParamInfo
                    {
                        Name  = "plugin-namespace:" + nsMapping.Prefix,
                        Value = nsMapping.Namespace,
                    });
                }

                foreach (PluginInfo.AssemblyClassInfo classInfo in this.PluginInfo.Assembly.Classes
                         .Where(c => c.MarshalByValue == "true"))
                {
                    pluginFeatureInfo.Params.Add(new PluginInfo.ConfigParamInfo
                    {
                        Name  = "plugin-class:" + classInfo.Name,
                        Value = "marshal-by-value",
                    });
                }

                this.PluginInfo.IOSPlatform.ConfigFiles.Add(new PluginInfo.ConfigFileInfo
                {
                    Target   = "config.xml",
                    Parent   = "/*",
                    Features = new List <PluginInfo.ConfigFeatureInfo>(new[] { pluginFeatureInfo }),
                });
            }
        }