You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.9 KiB

// @<COPYRIGHT_START>@
// ===============================================
// Copyright 2010 Siemens PLM Software. All Rights Reserved.
// ===============================================
// @<COPYRIGHT_END>@
/**
@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 <common/library_indicators.h>
#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