CRWAutoRelease Class Reference#include <RWAutoRelease.h>
Collaboration diagram for CRWAutoRelease:
![]()
Detailed DescriptionDefinition at line 49 of file RWAutoRelease.h. Constructor & Destructor Documentation
Definition at line 49 of file RWAutoRelease.cpp. 00051 : m_pLock(pLock), 00052 m_bLockedRead(FALSE), 00053 m_bLockedWrite(FALSE), 00054 m_bEscalated(FALSE) 00055 { 00056 //Do we need to lock 00057 if (bLock) 00058 if (bRead) 00059 if (LockRead()) 00060 m_bLockedRead=TRUE; 00061 else 00062 ; 00063 else 00064 if (LockWrite()) 00065 m_bLockedWrite=TRUE; 00066 }
Definition at line 68 of file RWAutoRelease.cpp. 00069 { 00070 //Are we locked some how 00071 if (m_bLockedRead) 00072 UnlockRead(); 00073 else if (m_bLockedWrite) 00074 UnlockWrite(); 00075 00076 //Are we escalated 00077 if (m_bEscalated) 00078 StopEscalation(); 00079 }
Member Function Documentation
Definition at line 143 of file RWAutoRelease.cpp. 00145 { 00146 if (m_pLock) 00147 if (m_pLock->Escalate(ulMSTimeout,ulIterations)) 00148 { 00149 //We are locked for write 00150 m_bLockedWrite=TRUE; 00151 00152 //And for escalation 00153 m_bEscalated=TRUE; 00154 00155 //Exit 00156 return TRUE; 00157 } 00158 else 00159 return FALSE; 00160 else 00161 return FALSE; 00162 }
Definition at line 81 of file RWAutoRelease.cpp. 00082 { 00083 if (m_pLock) 00084 if (m_pLock->LockRead(ulMSTimeout)) 00085 { 00086 //We are locked for read 00087 m_bLockedRead=TRUE; 00088 00089 //Exit 00090 return FALSE; 00091 } 00092 else 00093 return FALSE; 00094 else 00095 return FALSE; 00096 }
Definition at line 110 of file RWAutoRelease.cpp. 00111 { 00112 if (m_pLock) 00113 if (m_pLock->LockWrite()) 00114 { 00115 //We are locked for write 00116 m_bLockedWrite=TRUE; 00117 00118 //Exit 00119 return TRUE; 00120 } 00121 else 00122 return FALSE; 00123 else 00124 return FALSE; 00125 }
Definition at line 164 of file RWAutoRelease.cpp. 00165 { 00166 if (m_pLock && m_bEscalated) 00167 { 00168 //Stop it 00169 m_pLock->StopEscalation(); 00170 00171 //Set the flag 00172 m_bEscalated=FALSE; 00173 } 00174 }
Definition at line 98 of file RWAutoRelease.cpp. 00099 { 00100 if (m_pLock && m_bLockedRead) 00101 { 00102 //Unlock us 00103 m_pLock->UnlockRead(); 00104 00105 //Not locked anymore 00106 m_bLockedRead=FALSE; 00107 } 00108 }
Definition at line 127 of file RWAutoRelease.cpp. 00128 { 00129 //Are we locked 00130 if (m_pLock && m_bLockedWrite) 00131 { 00132 //Unlock us 00133 m_pLock->UnlockWrite(); 00134 00135 //Set the flag 00136 m_bLockedWrite=FALSE; 00137 00138 //Not escalated 00139 m_bEscalated=FALSE; 00140 } 00141 }
The documentation for this class was generated from the following files: |