/*
 *  Copyright (C)  2000-2001 Marc Wandschneider <mw@kiltdown.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation.
 *
 *  For more information look at the file COPYRIGHT in this package
 *
 */
#ifndef _IACCOUNTHOST_H_

class IFolder;

/**
 * This is the hosting side of the IAccount interface.  It lets account 
 * subsystems notify the host when something has happened.
 */
class IAccountHost {

  public:
    /**
     * The name of the account has changed.  Please update any appropriate
     * User Interface for this.  blech.
     */
    virtual void accountNameChanged(const char *newName) = 0;

    /**
     * returns the currently selected folder.
     */
    virtual IFolder *getCurrentFolder() = 0;

    /**
     * Tells the host to display a status bar message for this folder.
     */
    virtual void setStatusText(const char *) = 0;

    /**
     * Tells the host that we've got a new folder to add to the UI.
     */
    virtual ERRCODE addFolder(IFolder *) = 0;

    /**
     * tells the host that this account is going away.
     */
    virtual void closing() = 0;
};




#define _IACCOUNTHOST_H_
#endif // _IACCOUNTHOST_H_



syntax highlighted by Code2HTML, v. 0.9.1