6#ifndef _ZFI_zfsynchronize_h_
7#define _ZFI_zfsynchronize_h_
32#if _ZFP_ZFSYNCHRONIZE_LOG_ENABLE
33 #define zfsynchronize(obj) \
34 _ZFP_zfsynchronizeContainerWithLog ZFUniqueName(zfsynchronize_holder)(obj \
35 , ZFCallerInfoCreate())
37 #define zfsynchronize(obj) \
38 _ZFP_zfsynchronizeContainer ZFUniqueName(zfsynchronize_holder)(obj)
54#if _ZFP_ZFSYNCHRONIZE_LOG_ENABLE
55 #define zfsynchronizeLock(obj) _ZFP_zfsynchronizeLockWithLog(obj \
56 , ZFCallerInfoCreate())
58 #define zfsynchronizeLock(obj) _ZFP_zfsynchronizeLock(obj)
64#if _ZFP_ZFSYNCHRONIZE_LOG_ENABLE
65 #define zfsynchronizeUnlock(obj) _ZFP_zfsynchronizeUnlockWithLog(obj \
66 , ZFCallerInfoCreate())
68 #define zfsynchronizeUnlock(obj) _ZFP_zfsynchronizeUnlock(obj)
75 _ZFP_zfsynchronizeContainer(
ZF_IN zfany const &obj)
78 m_obj->_ZFP_ZFObjectLock();
80 ~_ZFP_zfsynchronizeContainer(
void) {
81 m_obj->_ZFP_ZFObjectUnlock();
87inline void _ZFP_zfsynchronizeLock(
ZF_IN zfany const &obj) {
88 obj->_ZFP_ZFObjectLock();
90inline void _ZFP_zfsynchronizeUnlock(
ZF_IN zfany const &obj) {
91 obj->_ZFP_ZFObjectUnlock();
96#if _ZFP_ZFSYNCHRONIZE_LOG_ENABLE
99 _ZFP_zfsynchronizeContainerWithLog(
103 ~_ZFP_zfsynchronizeContainerWithLog(
void);
113extern ZFLIB_ZFCore void _ZFP_zfsynchronizeUnlockWithLog(
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define zffinal
dummy macro shows that a method or class is designed must not to be overrided
Definition ZFCoreTypeDef_ClassType.h:63
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define zfclassNotPOD
shows the class is not a POD type, you should not memset it or declare it in stack or copy value by c...
Definition ZFCoreTypeDef_ClassType.h:48
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
base class of all objects
util class to hold caller info
Definition ZFCallerInfo.h:63
base class of all objects
Definition ZFObjectCore.h:209
util method to cast ZFObject types freely
Definition zfany.h:35
util class to cast ZFObject types freely