107 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
//
 | 
						|
// LISTSMS.CPP
 | 
						|
//
 | 
						|
//  Source file for ArchiveLib 2.0
 | 
						|
//
 | 
						|
//  Copyright (c) Greenleaf Software, Inc. 1994-1996
 | 
						|
//  All Rights Reserved
 | 
						|
//
 | 
						|
// CONTENTS
 | 
						|
//
 | 
						|
//  ALEntryList::SetMarkState()
 | 
						|
//
 | 
						|
// REVISION HISTORY
 | 
						|
//
 | 
						|
//   February 14, 1996  2.0A : New release
 | 
						|
//
 | 
						|
 | 
						|
#include "arclib.h"
 | 
						|
#if !defined( AL_IBM )
 | 
						|
#pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
//
 | 
						|
// NAME
 | 
						|
//
 | 
						|
//  ALEntryList::SetMarkState()
 | 
						|
//
 | 
						|
// PLATFORMS/ENVIRONMENTS
 | 
						|
//
 | 
						|
//  Console  Windows  PM
 | 
						|
//  C++
 | 
						|
//
 | 
						|
// SHORT DESCRIPTION
 | 
						|
//
 | 
						|
//  Set a group of ALEntry objects to a given state.
 | 
						|
//
 | 
						|
// C++ SYNOPSIS
 | 
						|
//
 | 
						|
//  #include "arclib.h"
 | 
						|
//
 | 
						|
//  int ALEntryList::SetMarkState( const char *name, short int new_state )
 | 
						|
//
 | 
						|
// C SYNOPSIS
 | 
						|
//
 | 
						|
//  None, this is an internal protected C++ function.
 | 
						|
//
 | 
						|
// VB SYNOPSIS
 | 
						|
//
 | 
						|
//  None, this is an internal protected C++ function.
 | 
						|
//
 | 
						|
// DELPHI SYNOPSIS
 | 
						|
//
 | 
						|
//  None, this is an internal protected C++ function.
 | 
						|
//
 | 
						|
// ARGUMENTS
 | 
						|
//
 | 
						|
//  name       :  The object name, specifying which storage objects are
 | 
						|
//                to have their state set.  This name can include
 | 
						|
//                wild card characters.  Note that passing a null
 | 
						|
//                pointer here will cause a match to *every* object name.
 | 
						|
//
 | 
						|
//  new_state  :  The new state that the ALEntry mark should be set to.
 | 
						|
//
 | 
						|
// DESCRIPTION
 | 
						|
//
 | 
						|
//  This protected function is used internally to help out a couple of the
 | 
						|
//  public functions.  It rips through every entry of the list, checks to
 | 
						|
//  see if storage object associate with the entry has a name that matches
 | 
						|
//  the wildcard specification, and sets the mark if it does.
 | 
						|
//
 | 
						|
// RETURNS
 | 
						|
//
 | 
						|
//  A count of the number of ALEntry objects whose state was changed.
 | 
						|
//
 | 
						|
// EXAMPLE
 | 
						|
//
 | 
						|
// SEE ALSO
 | 
						|
//
 | 
						|
// REVISION HISTORY
 | 
						|
//
 | 
						|
//   February 14, 1996  2.0A : New Release
 | 
						|
//
 | 
						|
 | 
						|
int AL_PROTO
 | 
						|
ALEntryList::SetMarkState( const char AL_DLL_FAR *name,  /* Tag protected function */
 | 
						|
                           short int new_state )
 | 
						|
{
 | 
						|
    int count = 0;
 | 
						|
 | 
						|
    ALEntry *job = GetFirstEntry();
 | 
						|
    while ( job ) {
 | 
						|
        if ( name ) {
 | 
						|
            if ( job->mpStorageObject->mName.WildCardMatch( name ) ) {
 | 
						|
                job->SetMarkState( new_state );
 | 
						|
                count++;
 | 
						|
            }
 | 
						|
        } else {
 | 
						|
            job->SetMarkState( new_state );
 | 
						|
            count++;
 | 
						|
        }
 | 
						|
        job = job->GetNextEntry();
 | 
						|
    }
 | 
						|
    return count;
 | 
						|
}
 | 
						|
 | 
						|
 |