// @@ // =============================================== // Copyright 2010 Siemens PLM Software. All Rights Reserved. // =============================================== // @@ /** @file Abstract base class for a family of client cache manager classes. This class defines the required methods the derived classes must provide and also contains a number methods used by these classes. */ #include #ifdef EXPORTLIBRARY #define EXPORTLIBRARY something else #error ExportLibrary was already defined #endif #define EXPORTLIBRARY libclientcache #if !defined(IPLIB) # error IPLIB is not defined #endif /* Handwritten code should use CLIENTCACHE_API, not CLIENTCACHEEXPORT */ #define CLIENTCACHE_API CLIENTCACHEEXPORT /* Support CLIENTCACHEEXPORT for autogenerated schema/pif code only */ #if IPLIB==libclientcache # if defined(__lint) # define CLIENTCACHEEXPORT __export(clientcache) # define CLIENTCACHEGLOBAL extern __global(clientcache) # define CLIENTCACHEPRIVATE extern __private(clientcache) # elif defined(_WIN32) # define CLIENTCACHEEXPORT __declspec(dllexport) # define CLIENTCACHEGLOBAL extern __declspec(dllexport) # define CLIENTCACHEPRIVATE extern # else # define CLIENTCACHEEXPORT # define CLIENTCACHEGLOBAL extern # define CLIENTCACHEPRIVATE extern # endif #else # if defined(__lint) # define CLIENTCACHEEXPORT __export(clientcache) # define CLIENTCACHEGLOBAL extern __global(clientcache) # elif defined(_WIN32) && !defined(WNT_STATIC_LINK) # define CLIENTCACHEEXPORT __declspec(dllimport) # define CLIENTCACHEGLOBAL extern __declspec(dllimport) # else # define CLIENTCACHEEXPORT # define CLIENTCACHEGLOBAL extern # endif #endif