//=========================================================================
// Summary  :
// Filename : ProcessList.h
// Author   : marsh
// Project  :
// Revision : 1
// Created  : 2000/08/19
// Modified : 2000/08/19
//=========================================================================
// Description :
//=========================================================================
#ifndef _PROCESSLIST_H
#define _PROCESSLIST_H

#include "ItemList.h"
#include "Attributes.h"

#define PROCESS_LIST_ID "process"

class ProcessList : public ItemList
{

public:
     ProcessList( Boolean isSim );

     virtual ~ProcessList();

     int loadProcesses( const char * );
     void dumpProcessList( void );

     short findIndexByPid( short pid );
     
     virtual Item *addItem( const char * );

protected:

     virtual Boolean isIdentifier( const char * );

     int loadProcessFile( const char *fullFilename, Boolean topLevel );
     int loadDevices( const char *fullFilename );

     Attributes attributes;

     short _currentStratum;

     Boolean _isSim;

     debug_t _defaultDebug;

     char *_devicesFile, *_simDevicesFile;

     enum {ProcessId, DeviceId} _lastIdentifier;

};


#endif
