Sfoglia il codice sorgente

make getThis function of ReferenceCounter const

Kolja Strohm 3 giorni fa
parent
commit
2fc1a10090
2 ha cambiato i file con 7 aggiunte e 6 eliminazioni
  1. 4 3
      ReferenceCounter.cpp
  2. 3 3
      ReferenceCounter.h

+ 4 - 3
ReferenceCounter.cpp

@@ -9,7 +9,8 @@ ReferenceCounter::ReferenceCounter()
     ref = 1;
 }
 
-ReferenceCounter::~ReferenceCounter() {
+ReferenceCounter::~ReferenceCounter()
+{
     DeleteCriticalSection(cs);
     delete cs;
 }
@@ -19,12 +20,12 @@ int ReferenceCounter::getReferenceCount() const
     return ref;
 }
 
-ReferenceCounter* ReferenceCounter::getThis()
+ReferenceCounter* ReferenceCounter::getThis() const
 {
     EnterCriticalSection(cs);
     ++ref;
     LeaveCriticalSection(cs);
-    return this;
+    return (ReferenceCounter*)this;
 }
 
 void* ReferenceCounter::release()

+ 3 - 3
ReferenceCounter.h

@@ -7,15 +7,15 @@ namespace Framework
     class ReferenceCounter
     {
     private:
-        CRITICAL_SECTION *cs;
-        int ref;
+        CRITICAL_SECTION* cs;
+        mutable int ref;
 
     public:
         DLLEXPORT ReferenceCounter();
         DLLEXPORT virtual ~ReferenceCounter();
 
         DLLEXPORT int getReferenceCount() const;
-        DLLEXPORT ReferenceCounter* getThis();
+        DLLEXPORT ReferenceCounter* getThis() const;
         DLLEXPORT void* release();
     };
 } // namespace Framework