Exemple #1
0
 public EventTable_T(MonitEventType _id, string _description_failed, string _description_succeeded,
                     string _description_changed, string _description_changednot)
 {
     id = _id;
     description_failed     = _description_failed;
     description_succeeded  = _description_succeeded;
     description_changed    = _description_changed;
     description_changednot = _description_changednot;
 }
Exemple #2
0
 public static bool IsEventSet(int value, MonitEventType mask)
 {
     return((value & (int)mask) != 0);
 }
Exemple #3
0
        public static void Post(Service_T service, MonitEventType id, MonitStateType state, EventAction_T action,
                                string s, params object[] args)
        {
            var message = string.Format(s, args);

            Event_T E = null;

            if (service.eventlist != null)
            {
                service.eventlist.ForEach(e =>
                {
                    if (e.action == action && e.id == id)
                    {
                        e.collected   = DateTime.UtcNow;
                        e.state_map <<= 1;
                        e.state_map  |= ((state == MonitStateType.State_Succeeded ||
                                          state == MonitStateType.State_ChangedNot)
                            ? 0
                            : 1);
                        e.message = message;
                        E         = e;
                    }
                });
            }

            if (E == null)
            {
                if (state == MonitStateType.State_Succeeded || state == MonitStateType.State_ChangedNot)
                {
                    Logger.Log.DebugFormat("'{0}' {1}", service.name, message);
                    return;
                }

                E           = new Event_T();
                E.id        = id;
                E.collected = DateTime.UtcNow;
                E.source    = service.name;
                E.mode      = service.mode;
                E.type      = service.type;
                E.state     = MonitStateType.State_Init;
                E.state_map = 1;
                E.action    = action;
                E.message   = message;
                if (service.eventlist == null)
                {
                    service.eventlist = new List <Event_T>();
                }
                service.eventlist.Insert(0, E);
            }

            E.state_changed = CheckState(E, state);

            if (E.state_changed)
            {
                E.state = state;
                E.count = 1;
            }
            else
            {
                E.count++;
            }

            handleEvent(service, E);
        }