PIObject::scopeList() fix

DeployMacros supports for "$<>" files
This commit is contained in:
2020-06-17 16:49:02 +03:00
parent f662a92380
commit 4910631ce8
4 changed files with 12 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ project(pip)
set(_PIP_MAJOR 1)
set(_PIP_MINOR 20)
set(_PIP_REVISION 0)
set(_PIP_SUFFIX alpha)
set(_PIP_SUFFIX beta)
set(_PIP_COMPANY SHS)
set(_PIP_DOMAIN org.SHS)

View File

@@ -383,7 +383,14 @@ endmacro()
macro(__add_file_or_dir _DIR_VAR _FILE_VAR _PATH _RELPATH)
set(_p)
set(_abs 0)
if (IS_ABSOLUTE "${_PATH}")
set(_abs 1)
endif()
if ("${_PATH}" MATCHES "^\$<")
set(_abs 1)
endif()
if (_abs)
set(_p "${_PATH}")
else()
set(_p "${_RELPATH}/${_PATH}")

View File

@@ -237,15 +237,14 @@
if (pid == 0) return; \
uint id = __classNameIDS(); \
PIMutexLocker ml(__meta_mutex()); \
__meta_data()[pid]; \
__MetaData & eh(__meta_data()[id]); \
if (eh.scope_id.contains(pid)) return; \
__MetaData & ehp(__meta_data()[pid]); \
__MetaData ehp(__meta_data().value(pid)); \
eh.eh_set << ehp.eh_set; \
eh.eh_func << ehp.eh_func; \
eh.scope_id = ehp.scope_id; \
eh.scope_list = ehp.scope_list; \
eh.addScope(PIStringAscii(#name), pid); \
eh.addScope(__classNameS(), id); \
} \
}; \
__ParentInitializer__ __parent_init__; \

View File

@@ -43,8 +43,8 @@ typedef bool (*ReadRetFunc)(void * , uchar * , int );
#else
# define REGISTER_DEVICE(class) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, class, __S__collection_##class##__)
# define PIIODEVICE(class) PIOBJECT_SUBCLASS(class, PIIODevice) PIIODevice * copy() const {return new class();}
# define REGISTER_DEVICE(name) ADD_NEW_TO_COLLECTION_WITH_NAME(__PIIODevices__, name, __S__collection_##name##__)
# define PIIODEVICE(name) PIOBJECT_SUBCLASS(name, PIIODevice) PIIODevice * copy() const {return new name();}
#endif