]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_cdsa_client/lib/cssmclient.h
Security-55471.14.8.tar.gz
[apple/security.git] / libsecurity_cdsa_client / lib / cssmclient.h
index b6b2f321ad21ebc172b8b4ac0addd1574eea1377..faa2fe8d893754c223dd5ac747df07c1e2dc0c62 100644 (file)
@@ -97,9 +97,11 @@ public:
        virtual bool operator ==(const ObjectImpl &other) const;
 
        static void check(CSSM_RETURN status);
+       bool isIdle() const { return mChildCount == 0; }
 
 protected:
        bool mActive;                                   // loaded, attached, etc.
+    RecursiveMutex mActivateMutex;
        mutable Allocator *mAllocator; // allocator hierarchy (NULL => TBD)
        
        template <class Obj> Obj parent() const
@@ -107,7 +109,6 @@ protected:
 
        void addChild();
        void removeChild();
-       bool isIdle() const { return mChildCount == 0; }
 
        // {de,}activate() assume you have locked *this
        virtual void activate() = 0;
@@ -151,6 +152,8 @@ public:
        bool operator ==(const Object &other) const
        { return mImpl && other.mImpl ? *mImpl == *other.mImpl : mImpl == other.mImpl; }
 
+    Impl* get() {return mImpl;}
+
 private:
        RefPointer<Impl> mImpl;
 };