/***********************************************************************
 *
 *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; version 2.1
 *  of the License.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, Novell, Inc.
 *
 *  To contact Novell about this file by physical or electronic mail,
 *  you may find current contact information at www.novell.com.
 *
 ***********************************************************************/

#ifndef __FPM_DATA_MANAGER_H__
#define __FPM_DATA_MANAGER_H__

#include "FirefoxPasswordManager.h"
#include "Common.h"


class DataManager  
{
	
public:

	Host *hostList;
	RejectHost *rejectHostList;

	DataManager();
	virtual ~DataManager();

	int AddRejectHost(char *hostName);
	int RemoveRejectHost(char *hostName);
	void PrintAllRejectHosts();
	

	int AddHost(char *hostName);
	int AddHost(Host *host);
	int ModifyHost(struct Host *host);
	int ModifyHost(char *oldHostName, char *newHostName);
	int RemoveHost(char *hostName);
	void PrintAllHosts();

	int AddHostElement(char *hostName, char *name, char *value, unsigned char isPassword);
	int RemoveHostElement(char *hostName, char *clearValue);
	Host* DuplicateHost(Host *host);

	int RemoveAllData();
	int RemoveAllRejectHosts();
	int RemoveAllHosts();

};

#endif