IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
ObjectBaseInfoHdrMacros.h File Reference

Macro allowing to manage object base informations. More...

#include <IPSDKUtil/Tools/PathUtils.h>
#include <boost/preprocessor/stringize.hpp>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_OBJECT_BASE_INFO(libraryName, className)
 Macro allowing to declare object base informations such as associate library name or file relative path. More...
 

Detailed Description

Macro allowing to manage object base informations.

Author
E. Noirfalise
Date
2014/04/22

Macro Definition Documentation

◆ IPSDK_DECLARE_OBJECT_BASE_INFO

#define IPSDK_DECLARE_OBJECT_BASE_INFO (   libraryName,
  className 
)
Value:
public: \
static const boost::filesystem::path getHeaderPathStr() { \
boost::filesystem::path relativePath; \
const boost::filesystem::path fullHdrPath(__FILE__); \
const boost::filesystem::path ipsdkHdrPublicPath(PROJECT_HDR_PUBLIC_DIRECTORY); \
relativePath = ipsdk::getRelativeFromRoot(ipsdkHdrPublicPath, fullHdrPath); \
if (relativePath.empty() == false) \
return relativePath; \
const boost::filesystem::path ipsdkHdrPartnerPath(PROJECT_HDR_PARTNER_DIRECTORY); \
relativePath = ipsdk::getRelativeFromRoot(ipsdkHdrPartnerPath, fullHdrPath); \
if (relativePath.empty() == false) \
return relativePath; \
const boost::filesystem::path ipsdkHdrPrivatePath(PROJECT_HDR_PRIVATE_DIRECTORY); \
relativePath = ipsdk::getRelativeFromRoot(ipsdkHdrPrivatePath, fullHdrPath); \
return relativePath; \
} \
const boost::filesystem::path getHeaderPath() const { \
return className::getHeaderPathStr(); \
} \
static const std::string getLibraryNameStr() { \
return BOOST_PP_STRINGIZE(libraryName); \
} \
const std::string getLibraryName() const { \
return className::getLibraryNameStr(); \
}
IPSDKUTIL_API boost::filesystem::path getRelativeFromRoot(const boost::filesystem::path &rootPath, const boost::filesystem::path &subPath)

Macro allowing to declare object base informations such as associate library name or file relative path.