当前位置: 首页>>代码示例>>C#>>正文


C# PluginManager.PluginRuntime类代码示例

本文整理汇总了C#中MediaPortal.Common.PluginManager.PluginRuntime的典型用法代码示例。如果您正苦于以下问题:C# PluginRuntime类的具体用法?C# PluginRuntime怎么用?C# PluginRuntime使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PluginRuntime类属于MediaPortal.Common.PluginManager命名空间,在下文中一共展示了PluginRuntime类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Activated

 public void Activated(PluginRuntime pluginRuntime)
 {
   messageQueue = new AsynchronousMessageQueue(this,
     new string[] {SystemMessaging.CHANNEL, PlayerManagerMessaging.CHANNEL});
   messageQueue.MessageReceived += OnMessageReceived;
   messageQueue.Start();
 }
开发者ID:chli,项目名称:AtmoLight,代码行数:7,代码来源:Plugin.cs

示例2: BuildItem

 public object BuildItem(PluginItemMetadata itemData, PluginRuntime plugin)
 {
   BuilderHelper.CheckParameter("ServiceClassName", itemData);
   string serviceClassName = itemData.Attributes["ServiceClassName"];
   object serviceInstance = plugin.InstantiatePluginObject(serviceClassName);
   if (serviceInstance == null)
   {
     ServiceRegistration.Get<ILogger>().Warn("ServiceBuilder: Could not instantiate service class '{0}' in plugin '{1}' (id: '{2}')",
         serviceClassName, itemData.PluginRuntime.Metadata.Name, itemData.PluginRuntime.Metadata.PluginId);
     return null;
   }
   string registrationClassAssembly;
   if (!itemData.Attributes.TryGetValue("RegistrationClassAssembly", out registrationClassAssembly))
     registrationClassAssembly = null;
   string registrationClassName;
   if (!itemData.Attributes.TryGetValue("RegistrationClassName", out registrationClassName))
     registrationClassName = null;
   Type registrationType;
   if (string.IsNullOrEmpty(registrationClassName))
     registrationType = serviceInstance.GetType();
   else
     registrationType = string.IsNullOrEmpty(registrationClassAssembly) ? plugin.GetPluginType(registrationClassName) :
         Type.GetType(registrationClassName + ", " + registrationClassAssembly);
   if (registrationType == null)
   {
     ServiceRegistration.Get<ILogger>().Warn("ServiceBuilder: Could not instantiate service registration type '{0}' (Assembly: '{1}') in plugin '{2}' (id: '{3}')",
         registrationClassName, registrationClassAssembly, itemData.PluginRuntime.Metadata.Name, itemData.PluginRuntime.Metadata.PluginId);
     return null;
   }
   return new ServiceItem(registrationType, serviceInstance);
 }
开发者ID:davinx,项目名称:MediaPortal-2,代码行数:31,代码来源:ServiceBuilder.cs

示例3: Activated

        public void Activated(PluginRuntime pluginRuntime)
        {
            if (_isInitialized)
                return;

            _isInitialized = true;


            // All non-default media item aspects must be registered
            var miatr = ServiceRegistration.Get<IMediaItemAspectTypeRegistration>();
            miatr.RegisterLocallyKnownMediaItemAspectType(OnlineVideosAspect.Metadata);

            InitializeOnlineVideoSettings();

            // create a message queue for OnlineVideos to broadcast that the list of site utils was rebuild
            _messageQueue = new AsynchronousMessageQueue(this, new string[] { OnlineVideosMessaging.CHANNEL });
            _messageQueue.Start();

            // load and update sites in a background thread, it takes time and we are on the Main thread delaying MP2 startup
            ServiceRegistration.Get<IThreadPool>().Add(
                InitialSitesUpdateAndLoad,
                "OnlineVideos Initial Sites Load & Update",
                QueuePriority.Low,
                ThreadPriority.BelowNormal,
                AfterInitialLoad);
        }
开发者ID:offbyoneBB,项目名称:mp-onlinevideos2,代码行数:26,代码来源:OnlineVideosPlugin.cs

示例4: Activated

 public void Activated(PluginRuntime pluginRuntime)
 {
   ServiceRegistration.Set<ITvHandler>(new SlimTvHandler());
   
   // Register recording section in MediaLibrary
   RecordingsLibrary.RegisterOnMediaLibrary();
 }
开发者ID:HAF-Blade,项目名称:MediaPortal-2,代码行数:7,代码来源:SlimTvClientPlugin.cs

示例5: BuildItem

 public object BuildItem(PluginItemMetadata itemData, PluginRuntime plugin)
 {
   BuilderHelper.CheckParameter("ClassName", itemData);
   BuilderHelper.CheckParameter("ProviderName", itemData);
   BuilderHelper.CheckParameter("Priority", itemData);
   return new ThumbnailProviderRegistration(plugin.GetPluginType(itemData.Attributes["ClassName"]), itemData.Id, itemData.Attributes["ProviderName"], itemData.Attributes["Priority"]);
 }
开发者ID:chekiI,项目名称:MediaPortal-2,代码行数:7,代码来源:ThumbnailProviderBuilder.cs

示例6: Activated

    public void Activated(PluginRuntime pluginRuntime)
    {
      var meta = pluginRuntime.Metadata;
      Logger.Info(string.Format("{0} v{1} [{2}] by {3}", meta.Name, meta.PluginVersion, meta.Description, meta.Author));

      DvDevice device = ServiceRegistration.Get<IBackendServer>().UPnPBackendServer.FindDevicesByDeviceTypeAndVersion(UPnPTypesAndIds.BACKEND_SERVER_DEVICE_TYPE, UPnPTypesAndIds.BACKEND_SERVER_DEVICE_TYPE_VERSION, true).FirstOrDefault();
      if (device != null)
      {
        var serverSettings = new ServerSettingsImpl();
        Logger.Debug("ServerSettings: Registering ServerSettings service.");
        device.AddService(serverSettings);
        Logger.Debug("ServerSettings: Adding ServerSettings service to MP2 backend root device");

        // List all assemblies
        InitPluginAssemblyList();

        // Set our own resolver to lookup types from any of assemblies from Plugins subfolder.
        SettingsSerializer.CustomAssemblyResolver = PluginsAssemblyResolver;
        // AppDomain.CurrentDomain.AssemblyResolve += PluginsAssemblyResolver;

        Logger.Debug("ServerSettings: Adding Plugins folder to private path");
      }
      else
      {
        Logger.Error("ServerSettings: MP2 backend root device not found!");
      }
    }
开发者ID:jgauffin,项目名称:MediaPortal-2,代码行数:27,代码来源:ServerSettingsPlugin.cs

示例7: BuildItem

 public object BuildItem(PluginItemMetadata itemData, PluginRuntime plugin)
 {
   BuilderHelper.CheckParameter("ClassName", itemData);
   BuilderHelper.CheckParameter("Caption", itemData);
   BuilderHelper.CheckParameter("Sort", itemData);
   return new MediaItemActionExtension(plugin.GetPluginType(itemData.Attributes["ClassName"]), itemData.Attributes["Caption"], itemData.Attributes["Sort"], itemData.Id);
 }
开发者ID:chekiI,项目名称:MediaPortal-2,代码行数:7,代码来源:MediaItemActionBuilder.cs

示例8: BuildSection

 protected static ConfigSectionMetadata BuildSection(PluginItemMetadata itemData, PluginRuntime plugin)
 {
   string location = ConfigBaseMetadata.ConcatLocations(itemData.RegistrationLocation, itemData.Id);
   string text = null;
   string iconSmallPath = null;
   string iconLargePath = null;
   foreach (KeyValuePair<string, string> attr in itemData.Attributes)
   {
     switch (attr.Key)
     {
       case "Text":
         text = attr.Value;
         break;
       case "IconSmallPath":
         iconSmallPath = attr.Value;
         break;
       case "IconLargePath":
         iconLargePath = attr.Value;
         break;
       default:
         throw new ArgumentException("'ConfigSection' builder doesn't define an attribute '" + attr.Key + "'");
     }
   }
   if (text == null)
     throw new ArgumentException("'ConfigSection' item needs an attribute 'Text'");
   return new ConfigSectionMetadata(location, text,
                                    plugin.Metadata.GetAbsolutePath(iconSmallPath),
                                    plugin.Metadata.GetAbsolutePath(iconLargePath));
 }
开发者ID:chekiI,项目名称:MediaPortal-2,代码行数:29,代码来源:ConfigBuilder.cs

示例9: Activated

 public void Activated(PluginRuntime pluginRuntime)
 {
     EmulatorsCore.Init(new EmulatorsSettings());
     importer = new Importer();
     EmulatorsCore.Database.OnItemDeleting += Database_OnItemDeleting;
     ServiceRegistration.Set<IEmulatorsService>(this);
     ImporterMessaging.SendImporterMessage(ImporterMessaging.MessageType.Init);
 }
开发者ID:ministerkrister,项目名称:Emulators,代码行数:8,代码来源:EmulatorsService.cs

示例10: BuildItem

 public object BuildItem(PluginItemMetadata itemData, PluginRuntime plugin)
 {
   BuilderHelper.CheckParameter("Type", itemData);
   BuilderHelper.CheckParameter("Directory", itemData);
   return new PluginResource(
       (PluginResourceType) Enum.Parse(typeof (PluginResourceType), itemData.Attributes["Type"]),
       plugin.Metadata.GetAbsolutePath(itemData.Attributes["Directory"]));
 }
开发者ID:davinx,项目名称:MediaPortal-2,代码行数:8,代码来源:ResourceBuilder.cs

示例11: Activated

 public void Activated(PluginRuntime pluginRuntime)
 {
   var meta = pluginRuntime.Metadata;
   Logger.Info(string.Format("{0} v{1} [{2}] by {3}", meta.Name, meta.PluginVersion, meta.Description, meta.Author));
   ServiceRegistration.Get<IMessageBroker>().RegisterMessageReceiver(SystemMessaging.CHANNEL, this);
   SubscribeToMessages();
   //Logger.Debug("UPnPRenderPlugin: Adding UPNP device as a root device");
   //ServiceRegistration.Get<IFrontendServer>().UPnPFrontendServer.AddRootDevice(_device);
 }
开发者ID:aspik,项目名称:MediaPortal-2,代码行数:9,代码来源:UPnPRendererPlugin.cs

示例12: Activated

        public void Activated(PluginRuntime pluginRuntime)
        {
            var meta = pluginRuntime.Metadata;
            Logger.Info(string.Format("{0} v{1} [{2}] by {3}", meta.Name, meta.PluginVersion, meta.Description, meta.Author));

            Logger.Debug("MediaServerPlugin: Adding UPNP device as a root device");
            ServiceRegistration.Get<IBackendServer>().UPnPBackendServer.AddRootDevice(_device);
            ServiceRegistration.Get<IResourceServer>().AddHttpModule(new DlnaResourceAccessModule());
        }
开发者ID:FreakyJ,项目名称:MediaServer-fo-MP2,代码行数:9,代码来源:MediaServerPlugin.cs

示例13: RevokeItem

 public void RevokeItem(object item, PluginItemMetadata itemData, PluginRuntime plugin)
 {
   BackgroundType type;
   string typeName = GetBackgroundAndType(itemData.Attributes, out type);
   switch (type)
   {
     case BackgroundType.Manager:
       plugin.RevokePluginObject(typeName);
       break;
   }
 }
开发者ID:davinx,项目名称:MediaPortal-2,代码行数:11,代码来源:BackgroundBuilder.cs

示例14: Activated

    public void Activated(PluginRuntime pluginRuntime)
    {
      var meta = pluginRuntime.Metadata;
      Logger.Info(string.Format("{0} v{1} [{2}] by {3}", meta.Name, meta.PluginVersion, meta.Description, meta.Author));

      IResourceServer server = ServiceRegistration.Get<IResourceServer>();
      if (server != null)
      {
        ServiceRegistration.Set<IFanArtService>(new FanArtService());
        _fanartModule = new FanartAccessModule();
        server.AddHttpModule(_fanartModule);
      }
    }
开发者ID:chekiI,项目名称:MediaPortal-2,代码行数:13,代码来源:FanArtServicePlugin.cs

示例15: Activated

    public void Activated(PluginRuntime pluginRuntime)
    {
      ISystemResolver systemResolver = ServiceRegistration.Get<ISystemResolver>();
      var appKey = systemResolver.SystemType == SystemType.Server ? KEY_SERVER : KEY_CLIENT;

      // The appkey and shared key can be found in onetrueeror.com
      OneTrue.Configuration.Credentials(appKey.Item1, appKey.Item2);
      OneTrue.Configuration.CatchWinFormsExceptions();
      OneTrue.Configuration.Advanced.UploadReportFailed += OnUploadReportFailed;

      // Exchange the logger by the error reporting wrapper
      var currentLogger = ServiceRegistration.Get<ILogger>();
      var errorLogger = new ErrorLogWrapper(currentLogger);
      ServiceRegistration.Set<ILogger>(errorLogger);
    }
开发者ID:pacificIT,项目名称:MediaPortal-2,代码行数:15,代码来源:ErrorReportingService.cs


注:本文中的MediaPortal.Common.PluginManager.PluginRuntime类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。