Public Member Functions | Protected Attributes

ATSFileList Class Reference

Search for all occurrences

Detailed Description

ATS File List.

ATSFileList is a list of ATSFileEntry objects. It maintains three lists: 1) List of ATSFileEntry objects added, 2) List of root ATSFileEntry objects (those without parents), and 3) List of Active ATSFileEntry objects as specified and order by BuildActiveList method.

See also:
ATSFileEntry

#include <IATSProvider.h>

Inheritance diagram for ATSFileList:
Inheritance graph
[legend]

List of all members.

Public Member Functions

ATSExport  ATSFileList ()
  Constructor.
virtual ATSExport  ~ATSFileList ()
  Destructor.
virtual ATSExport ATSFileEntry CreateEntry (const MCHAR *szFile, ATSFileEntry *pEntryParent=NULL, ATSStatus dwFlagsIn=ATS::kATSStatusActive, ATSClientPtr pClientPtr=NULL)
  Create and add new ATSFileEntry.
virtual ATSExport ATSFileEntry CreateEntry (ATSFileEntry &atsFileEntry)
  Copy and add new ATSFileEntry.
virtual ATSExport bool  RemoveEntry (ATSFileEntry *pEntry)
  Remove entry.
virtual ATSExport UINT  NumEntries ()
  Number of entries.
virtual ATSExport bool  RemoveEntry (UINT iIndex)
  Remove entry by index.
virtual ATSExport bool  RemoveAll ()
  Remove all entries.
virtual ATSExport ATSFileEntry GetFileEntry (UINT iIndex)
  Get entry.
virtual ATSExport UINT  BuildActiveList (ATSStatus dwFlagsIn=ATS::kATSStatusActive, bool bDepthFirstTraversal=false)
  Build an active ATSFileEntry list.
virtual ATSExport UINT  AddActiveEntry (ATSFileEntry *pEntry)
  Add entry to active list.
virtual ATSExport bool  RemoveActiveEntry (ATSFileEntry *pEntry)
  Remove active entry.
virtual ATSExport UINT  NumActiveEntries ()
  Number of active entries.
virtual ATSExport ATSFileEntry GetActiveFileEntry (UINT iIndex)
  Get active entry.
virtual ATSExport UINT  NumRootEntries ()
  Number of root entries.
virtual ATSExport ATSFileEntry GetRootEntry (UINT iIndex)
  Get root entry.

Protected Attributes

std::vector< ATSFileEntry * >  mATSFiles
std::vector< ATSFileEntry * >  mATSRoots
std::vector< ATSFileEntry * >  mATSActiveFiles

Constructor & Destructor Documentation

ATSExport ATSFileList ( )

Constructor.

virtual ATSExport ~ATSFileList ( ) [virtual]

Destructor.


Member Function Documentation

virtual ATSExport ATSFileEntry* CreateEntry ( const MCHAR *  szFile,
ATSFileEntry pEntryParent = NULL,
ATSStatus  dwFlagsIn = ATS::kATSStatusActive,
ATSClientPtr  pClientPtr = NULL 
) [virtual]

Create and add new ATSFileEntry.

Parameters:
[in] szFile string containing filename
[in] pEntryParent default is NULL. Pointer to parent ATSFileEntry object
[in] dwFlagsIn default is kATSStatusActive. ATSStatus value that specified initial In flags.
[in] pClientPtr default is NULL. Client defined pointer.
Returns:
pointer to ATSFileEntry object or NULL if failure
virtual ATSExport ATSFileEntry* CreateEntry ( ATSFileEntry atsFileEntry ) [virtual]

Copy and add new ATSFileEntry.

Parameters:
[in] atsFileEntry This ATSFileEntry object is copied and added to the entry list.
Returns:
pointer to ATSFileEntry object or NULL if failure
virtual ATSExport bool RemoveEntry ( ATSFileEntry pEntry ) [virtual]

Remove entry.

Parameters:
[in] pEntry Pointer to ATSFileEntry object.
Returns:
true if success, false if failure
virtual ATSExport UINT NumEntries ( ) [virtual]

Number of entries.

Returns:
number of entries in file list
virtual ATSExport bool RemoveEntry ( UINT  iIndex ) [virtual]

Remove entry by index.

Parameters:
[in] iIndex 0-based index into file entry list
Returns:
true if success, false if failure
virtual ATSExport bool RemoveAll ( ) [virtual]

Remove all entries.

Returns:
true if success, false if failure
virtual ATSExport ATSFileEntry* GetFileEntry ( UINT  iIndex ) [virtual]

Get entry.

Parameters:
[in] iIndex 0-based index into file entry list
Returns:
pointer to ATSFileEntry object or NULL if failure
virtual ATSExport UINT BuildActiveList ( ATSStatus  dwFlagsIn = ATS::kATSStatusActive,
bool  bDepthFirstTraversal = false 
) [virtual]

Build an active ATSFileEntry list.

This method builds (or rebuilds) the active file list as defined by a status and traversal criteria.

Parameters:
[in] dwFlagsIn default kATSStatusActive. Only add file entries that contain this flag in their In flags.
[in] bDepthFirstTraversal default false. When false, the active file list will be generated by an inorder traversal of the file list. When true, the list will be generated using a depth first traversal as defined by the ATSFileEntry hierarchy. When performing IATSProvider in which dependent files need to be added or checked in first, the active file list should be built with bDepthFirstTraversal set to true.
Returns:
number of files in active list
virtual ATSExport UINT AddActiveEntry ( ATSFileEntry pEntry ) [virtual]

Add entry to active list.

Parameters:
[in] pEntry Pointer to ATSFileEntry object to add to active list.
Returns:
number of files in active list
virtual ATSExport bool RemoveActiveEntry ( ATSFileEntry pEntry ) [virtual]

Remove active entry.

Parameters:
[in] pEntry Pointer to ATSFileEntry object.
Returns:
true if success, false if failure
virtual ATSExport UINT NumActiveEntries ( ) [virtual]

Number of active entries.

Returns:
number of active entries in file list
virtual ATSExport ATSFileEntry* GetActiveFileEntry ( UINT  iIndex ) [virtual]

Get active entry.

Parameters:
[in] iIndex 0-based index into active file entry list
Returns:
pointer to ATSFileEntry object or NULL if failure
virtual ATSExport UINT NumRootEntries ( ) [virtual]

Number of root entries.

Returns:
number of root entries in file list
virtual ATSExport ATSFileEntry* GetRootEntry ( UINT  iIndex ) [virtual]

Get root entry.

Parameters:
[in] iIndex 0-based index into root file entry list
Returns:
pointer to ATSFileEntry object or NULL if failure

Member Data Documentation

std::vector<ATSFileEntry*> mATSFiles [protected]
std::vector<ATSFileEntry*> mATSRoots [protected]
std::vector<ATSFileEntry*> mATSActiveFiles [protected]

ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList
ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList ATSFileList