X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b1ab9ed8d0e0f1c3b66d7daa8fd5564444c56195..e3d3b979fd185d8303f28a937baa53a187fb8c7d:/libsecurity_cdsa_client/lib/cssmclient.h?ds=inline diff --git a/libsecurity_cdsa_client/lib/cssmclient.h b/libsecurity_cdsa_client/lib/cssmclient.h index b6b2f321..faa2fe8d 100644 --- a/libsecurity_cdsa_client/lib/cssmclient.h +++ b/libsecurity_cdsa_client/lib/cssmclient.h @@ -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 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 mImpl; };