blob: 3689c0a52d60b3df17f3835025e1d6bd12501de0 [file] [log] [blame]
/*=========================================================================
* Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
* This product is protected by U.S. and international copyright
* and intellectual property laws. Pivotal products are covered by
* one or more patents listed at http://www.pivotal.io/patents.
*=========================================================================
*/
#ifndef __GEMFIRE_IMPL_CPPCACHELIBRARY_H__
#define __GEMFIRE_IMPL_CPPCACHELIBRARY_H__
#include "../gfcpp_globals.hpp"
#include <string>
namespace gemfire {
// initialize GEMFIRE runtime if it has not already been initialized.
class CPPCACHE_EXPORT CppCacheLibrary {
public:
// All real initialization happens here.
CppCacheLibrary( );
// All cleanup goes here.
virtual ~CppCacheLibrary( );
// Call to this to trigger initialization.
static CppCacheLibrary* initLib( void );
// Call to this to trigger cleanup. initLib and closeLib calls must be in
// pairs.
static void closeLib( void );
// Returns pathname of product's lib directory, adds 'addon' to it if 'addon' is not null.
static std::string getProductLibDir( const char * addon );
// Returns the directory where the library/DLL resides
static std::string getProductLibDir();
static std::string getProductDir( );
};
}; /* namespace gemfire */
#endif // __GEMFIRE_IMPL_CPPCACHELIBRARY_H__