blob: faba31b42d45895c932a0e57ccbbda65691f3588 [file] [log] [blame]
/*=========================================================================
* Copyright (c) 2002-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
* more patents listed at http://www.pivotal.io/patents.
*========================================================================
*/
/**
* @file
*/
// CacheConfig.h: interface for the CacheConfig class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CacheConfig_H__48B95D79_F676_4F8A_8522_8B172DB33F7E__INCLUDED_)
#define AFX_CacheConfig_H__48B95D79_F676_4F8A_8522_8B172DB33F7E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#pragma warning(disable:4786)
#endif // _MSC_VER > 1000
#include "../gfcpp_globals.hpp"
#include <string.h>
#include <map>
#include "RegionConfig.hpp"
#include "../ExceptionTypes.hpp"
#include "../DistributedSystem.hpp"
//
// Sneaky structure forward decl;
//
struct _xmlNode;
struct _xmlDoc;
typedef struct _xmlDoc xmlDoc;
typedef struct _xmlNode xmlNode;
namespace gemfire
{
typedef std::map< std::string, RegionConfigPtr > RegionConfigMapT;
class CPPCACHE_EXPORT CacheConfig
{
public:
CacheConfig(const char* xmlFileName);
bool parse( );
bool parseRegion(xmlNode *node);
bool parseAttributes(const char* name,xmlNode* node);
RegionConfigMapT& getRegionList();
virtual ~CacheConfig();
private:
CacheConfig();
xmlDoc* m_doc;
xmlNode* m_root_element;
RegionConfigMapT m_regionList;
};
};
#endif // !defined(AFX_CacheConfig_H__48B95D79_F676_4F8A_8522_8B172DB33F7E__INCLUDED_)