示例#1
0
        public BackgroundUpdateScheduleHandler InstantBackgroundUpdateScheduling(
            IBackgroundUpdateable target,
            string id,
            string groupId = null,
            int priority   = 0,
            string label   = null
            )
        {
            var handler = new BackgroundUpdateScheduleHandler(target, this, id, groupId, priority, label);

            handler.ScheduleUpdate();
            return(handler);
        }
示例#2
0
 internal BackgroundUpdateScheduleHandler(
     IBackgroundUpdateable target,
     BackgroundUpdater owner,
     string id,
     string groupId,
     int priority,
     string label
     )
 {
     Target   = target;
     Owner    = owner;
     Id       = id;
     GroupId  = groupId;
     Priority = priority;
     Label    = label;
 }
示例#3
0
        public BackgroundUpdateScheduleHandler RegistrationBackgroundUpdateScheduleHandler(
            IBackgroundUpdateable target,
            string id,
            string groupId = null,
            int priority   = 0,
            string label   = null
            )
        {
            // Note: ここで予めBGUpdateInfo同士の
            // 依存関係解決の元になる情報を構築することもできる
            BackgroundUpdateScheduleHandler handler;

            if (_UpdateInfoMap.ContainsKey(target))
            {
                handler = _UpdateInfoMap[target];
            }
            else
            {
                handler = new BackgroundUpdateScheduleHandler(target, this, id, groupId, priority, label);
                _UpdateInfoMap.Add(target, handler);
            }

            return(handler);
        }
示例#4
0
 public BackgroundUpdateScheduleHandler GetBackgroundUpdateScheduleHandler(
     IBackgroundUpdateable target
     )
 {
     return(_UpdateInfoMap[target]);
 }