Пример #1
0
        public void RequestStartInterval(PluginManager.Plugin caller, PluginBase.IntervalType type)
        {
            var current = getInterval(_currentIntervalId);

            if (current != null)
            {
                if (current.State != PluginBase.StateChangeType.End)
                {
                    return;
                }
            }

            if (type == PluginBase.IntervalType.Focus)
            {
                if (String.IsNullOrEmpty(_nextName))
                {
                    _nextName = "[name not set]";
                }
                if (_nextTask == null)
                {
                    _nextTask = "";
                }
                beginFocusInterval(_nextName, _nextTask, DateTime.Now);
            }
            else
            {
                beginRestInterval(DateTime.Now);
            }
        }
Пример #2
0
        public void RequestModifyIntervalState(PluginManager.Plugin caller, string id, PluginBase.StateChangeType state)
        {
            // Can't change state of old intervals
            if (id != _currentIntervalId)
            {
                return;
            }

            Interval current = getInterval(_currentIntervalId);

            if (current.State == PluginBase.StateChangeType.End)
            {
                return;
            }

            if (current.State == state)
            {
                return;
            }

            switch (state)
            {
            case PluginBase.StateChangeType.Unpause:
                if (current.State != PluginBase.StateChangeType.Pause)
                {
                    return;
                }
                current.State = PluginBase.StateChangeType.Start;
                broadcastStateChange(current, PluginBase.StateChangeType.Unpause, DateTime.Now);
                break;

            case PluginBase.StateChangeType.Pause:
                if (current.State != PluginBase.StateChangeType.Start)
                {
                    return;
                }
                current.State = PluginBase.StateChangeType.Pause;
                broadcastStateChange(current, PluginBase.StateChangeType.Pause, DateTime.Now);
                break;

            case PluginBase.StateChangeType.End:
                endInterval(current, true);
                break;

            case PluginBase.StateChangeType.Start:
                // Invalid
                break;

            default:
                // Shouldn't happen!
                break;
            }
        }
Пример #3
0
        public IReadOnlyDictionary <string, string> GetSettings(PluginManager.Plugin source)
        {
            var kvps = doSqlQueryDictionary(settingsTable, source.Source);

            if (kvps == null)
            {
                return(EmptySettings);
            }
            else
            {
                return(new System.Collections.ObjectModel.ReadOnlyDictionary <string, string>(kvps));
            }
        }
Пример #4
0
        public string LastVersion(PluginManager.Plugin source)
        {
            if (_lastVersions.ContainsKey(source.Source))
            {
                return(_lastVersions[source.Source]);
            }

            string result = doSqlQueryValue(versionTable, source.Source, versionColumn, true);

            if (result != null)
            {
                _lastVersions[source.Source] = result;
            }

            return(result);
        }
Пример #5
0
        public void RequestSetTaskName(PluginManager.Plugin caller, string name, string id = null)
        {
            if (id == null)
            {
                _nextTask = name;
            }

            var modify = getInterval(id);

            if (modify == null)
            {
                return;
            }

            modify.Task = name;
            broadcastPropertyChange(modify);
        }
Пример #6
0
 public string RetrieveBlob(PluginManager.Plugin source, string key)
 {
     return(doSqlQueryValue(blobTable, source.Source, key, false));
 }
Пример #7
0
 public void StoreBlob(PluginManager.Plugin source, string key, string blob, bool secure)
 {
     storeLastVersion(source.Source, source.Version);
     storeBlob(source.Source, key, blob, secure);
 }
Пример #8
0
 public void StoreSetting(PluginManager.Plugin source, string key, string value)
 {
     storeLastVersion(source.Source, source.Version);
     storeSetting(source.Source, key, value);
 }
Пример #9
0
 public void ReportError(PluginManager.Plugin caller, string message, PluginBase.ErrorSeverity severity = PluginBase.ErrorSeverity.Major)
 {
     // TODO
 }
Пример #10
0
 public void LogMessage(PluginManager.Plugin caller, string message, PluginBase.LogLevel level = PluginBase.LogLevel.Info)
 {
     // TODO
 }