#pragma once

#include "Betriebssystem.h"

namespace Framework
{
    class ReferenceCounter
    {
    private:
        CRITICAL_SECTION *cs;
        int ref;

    public:
        DLLEXPORT ReferenceCounter();
        DLLEXPORT virtual ~ReferenceCounter();

        DLLEXPORT int getReferenceCount() const;
        DLLEXPORT ReferenceCounter* getThis();
        DLLEXPORT void* release();
    };
} // namespace Framework