AppInstanceManager.h
sigc++/sigc++.h
list
App.h
list
AppInstanceManager.h
sigc++/sigc++.h
bakery.h
GtkDialogs.h
App_WithDoc.h
App_Gtk.h
AppInstanceManager.h
App.h
App_WithDoc_Gtk.h
Bakery::AppInstanceManager
Bakery

    /*
    *Copyright2002MurrayCumming
    *
    *Thislibraryisfreesoftware;youcanredistributeitand/or
    *modifyitunderthetermsoftheGNULibraryGeneralPublic
    *LicenseaspublishedbytheFreeSoftwareFoundation;either
    *version2oftheLicense,or(atyouroption)anylaterversion.
    *
    *Thislibraryisdistributedinthehopethatitwillbeuseful,
    *butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof
    *MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNU
    *LibraryGeneralPublicLicenseformoredetails.
    *
    *YoushouldhavereceivedacopyoftheGNULibraryGeneralPublic
    *Licensealongwiththislibrary;ifnot,writetotheFree
    *SoftwareFoundation,Inc.,675MassAve,Cambridge,MA02139,USA.
    */

    #ifndefBAKERY_APPINSTANCEMANAGER_H
    #defineBAKERY_APPINSTANCEMANAGER_H

    #include<sigc++/sigc++.h>
    #include<list>

    namespaceBakery
    {

    classApp;

    classAppInstanceManager:publicsigc::trackable
    {
    public:
    AppInstanceManager();
    virtual~AppInstanceManager();

    virtualvoidadd_app(App*pApp);
    virtualvoidclose_all();
    virtualvoidcancel_close_all();

    virtualunsignedintget_app_count()const;

    typedefstd::list<App*>type_listAppInstances;
    virtualtype_listAppInstancesget_instances()const;//UsedbyApp_WithDoctogetassociatedDocuments.

    protected:
    //Signalhandler:
    virtualvoidon_app_hide(App*pApp);

    //Instances:
    type_listAppInstancesm_listAppInstances;

    boolm_bExiting;
    };

    }//namespace

    #endif//BAKERY_APPINSTANCEMANAGER_H