#ifndef _SQMOD_EVENT_LOCAL_HPP_
#define _SQMOD_EVENT_LOCAL_HPP_

// ------------------------------------------------------------------------------------------------
#include "Common.hpp"
#include "Shared.hpp"

// ------------------------------------------------------------------------------------------------
#include <chrono>

// ------------------------------------------------------------------------------------------------
namespace SqMod {

/* ------------------------------------------------------------------------------------------------
 * ...
*/
class LocalEvent
{
public:

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent() noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent(SQInt32 type) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent(SQInt32 type, bool suspended) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent(const LocalEvent & o) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent(LocalEvent && o) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    ~LocalEvent();

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent & operator = (const LocalEvent & o) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    LocalEvent & operator = (LocalEvent && o) noexcept;

    /* --------------------------------------------------------------------------------------------
     * ...
    */
    

protected:

    // --------------------------------------------------------------------------------------------

private:

    // --------------------------------------------------------------------------------------------

};

} // Namespace:: SqMod

#endif // _SQMOD_EVENT_LOCAL_HPP_