public override IEnumerable<Kbtter4Plugin> Load(Kbtter instance, IList<string> filenames) { var files = filenames.Where(p => p.EndsWith(".py")); var ret = new List<Kbtter4IronPythonPlugin>(); engine = Python.CreateEngine(); var context = HostingHelpers.GetLanguageContext(engine) as PythonContext; var path = context.GetSearchPaths(); path.Add(Environment.CurrentDirectory + "\\"); engine.SetSearchPaths(path); engine.Runtime.LoadAssembly(typeof(Status).Assembly); foreach (var i in files) { try { var scope = engine.CreateScope(); scope.SetVariable("Kbtter4", new Kbtter4PluginProvider(instance)); var src = engine.CreateScriptSourceFromFile(i); var code = src.Compile(); code.Execute(scope); var p = new Kbtter4IronPythonPlugin(scope,instance); ret.Add(p); } catch (Exception e) { instance.LogError(String.Format("プラグイン読み込み中にエラーが発生しました : {0}\n{1}", i, e.Message)); } } return ret; }
public void Initialize() { kbtter = Kbtter.Instance; listener = new PropertyChangedEventListener(kbtter); CompositeDisposable.Add(listener); RegisterHandlers(); kbtter.Initialize(); setting = Kbtter3Extension.LoadJson <Kbtter3Setting>(App.ConfigurationFileName); TimelineStatuses.CollectionChanged += (s, e) => { DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() => { if (TimelineStatuses.Count > setting.MainWindow.StatusesShowMax) { TimelineStatuses.RemoveAt(setting.MainWindow.StatusesShowMax); } })); }; TimelineNotifications.CollectionChanged += (s, e) => { DispatcherHelper.UIDispatcher.BeginInvoke((Action)(() => { if (TimelineNotifications.Count > setting.MainWindow.NotificationsShowMax) { TimelineNotifications.RemoveAt(setting.MainWindow.NotificationsShowMax); } })); }; }
public override void Initialize(Kbtter kbtter) { this.kbtter = kbtter; luas = new List <Lua>(); ep = new Kbtter3PluginHandlerRegisterableEventProvider { Instance = kbtter }; }
protected override void Dispose(bool disposing) { base.Dispose(disposing); mainw = null; kbtter = null; user = null; ShowingStatuses.Clear(); ShowingFavorites.Clear(); ShowingFriends.Clear(); ShowingFollowers.Clear(); }
public Task <IEnumerable <TwitterStatus> > GetHomeTimelineStatusesByRest() { return(Task <IEnumerable <TwitterStatus> > .Run(() => { if (_tlstarted) { return null; } _tlstarted = true; var t = Kbtter.GetHomeTimelineStatuses(TimelineStartupLoadStatusCount); _stcache.AddRange(t); return t; })); }
public override IEnumerable<Kbtter4Plugin> Load(Kbtter instance, IList<string> filenames) { var list = new List<Kbtter4LuaPlugin>(); var files = filenames.Where(p => p.EndsWith(".lua")); foreach (var i in files) { try { Lua l = new Lua(); l.LoadCLRPackage(); l["Kbtter4"] = new Kbtter4PluginProvider(instance); l.DoFile(i); list.Add(new Kbtter4LuaPlugin(l,instance)); } catch (Exception e) { instance.LogError("Luaプラグイン読み込み中にエラーが発生しました : " + e.Message); } } return list; }
public Kbtter4PluginProvider(Kbtter ins) { Instance = ins; }
public abstract IEnumerable<Kbtter4Plugin> Load(Kbtter instance, IList<string> filenames);
public override void Initialize(Kbtter kbtter) { ep = new Kbtter3PluginEventProvider { Instance = kbtter }; }
public Kbtter4LuaPlugin(Lua l,Kbtter k) { ins = k; lua = l; }
/// <summary> /// ローダー自身を初期化します。 /// </summary> /// <param name="kbtter">Kbtter3 Modelのインスタンス</param> public abstract void Initialize(Kbtter kbtter);
public Kbtter4IronPythonPlugin(ScriptScope code,Kbtter k) { ins = k; this.scope = code; }
public override void Initialize(Kbtter kbtter) { this.kbtter = kbtter; luas = new List<Lua>(); ep = new Kbtter3PluginHandlerRegisterableEventProvider { Instance = kbtter }; }