#ifdef _MSC_VER
#pragma once
#endif

#ifndef EVENT_H_
#define EVENT_H_

/** Includes ***********************/
#include "string"
#include "vector"
#include "EventManager/Types.h"
#include "EventManager/DateTime.h"

/** Macros *************************/

/** Forward Declarations ***********/
namespace CKG
{
    namespace Lib
    {
        namespace EventManager
        {
            /*!
                \brief  Event
            */
            class Event
            {
            public:
                Event(const Char *eventInfo, const int numTriggers, const DateTime *triggers);
                virtual ~Event();

                void SetEventInformation(const Char *eventInfo);
                bool ShouldTrigger(const DateTime &currentDateTime) const;

            protected:

            private:
                typedef stlport::vector<DateTime>   TriggerList;
                TriggerList             mTriggers;
                stlport::string         mEventInformation;
                DateTime                mEventTime;
            };
        }
    }
}

/** Implementations ****************/
namespace CKG
{
    namespace Lib
    {
        namespace EventManager
        {
            
        }
    }
}

/** Undefines **********************/

#endif
