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.
bibletime/bibletime/frontend/cprofilemgr.h

70 lines
1.6 KiB

/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2006 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/
#ifndef CPROFILEMGR_H
#define CPROFILEMGR_H
#include "cprofile.h"
//TQt includes
#include <tqstring.h>
namespace Profile {
/** The manager for profiles.
* Provides functions to create, delete, save and load profiles.
* @author The BibleTime team
*/
class CProfileMgr {
public:
CProfileMgr();
~CProfileMgr();
/** Creates a new profile with the name "name" (first parameter).
* @return The profile object
*/
CProfile* create( const TQString name );
/**
* @return a list of available profiles
*/
const TQPtrList<CProfile>& profiles();
/**
* Removes the profile from the list and from the directory containg the profile files.
*/
const bool remove
( CProfile* p );
/**
* Removes the profile from the list and from the directory containg the profile files.
*/
const bool remove
( const TQString& );
/**
* Returns the profile with the desired name. If there's no such profile 0 is returned.
*/
CProfile* profile(const TQString&);
/**
* Returns the startup profile if it exists, otherwise return 0.
*/
CProfile* startupProfile();
/**
* Refreshes the profiles available on disk. Use this function to update the list of profiles after another instance of CProfileMgr created a new profile.
*/
void refresh();
protected:
TQPtrList<CProfile> m_profiles;
TQString m_profilePath;
CProfile* m_startupProfile;
};
} //end of namespace Profile
#endif