247 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| //
 | |
| // CXL_MON.CPP
 | |
| //
 | |
| //  Source file for ArchiveLib 1.0
 | |
| //
 | |
| //  Copyright (c) Greenleaf Software, Inc. 1994
 | |
| //  All Rights Reserved
 | |
| //
 | |
| // CONTENTS
 | |
| //
 | |
| //  ALMonitorSetObjectSize()
 | |
| //  ALMonitorSetObjectStart()
 | |
| //  ALMonitorSetJobSize()
 | |
| //  ALMonitorSetJobSoFar()
 | |
| //  deleteALMonitor()
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This file contains a few access routines 
 | |
| //  We don't really do anything exciting in the WEP, it is just
 | |
| //  here for decoration.  LibMain() has to set up memory allocation
 | |
| //  for Borland.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //  May 25, 1994  1.0A  : First release
 | |
| //
 | |
| //
 | |
| 
 | |
| #include "arclib.h"
 | |
| #pragma hdrstop
 | |
| 
 | |
| #include "al.h"
 | |
| #include "alcxl.h"
 | |
| 
 | |
| //
 | |
| // extern "C" long ALMonitorSetObjectSize( hALMonitor this_object,
 | |
| //                                         long size )
 | |
| //
 | |
| // ARGUMENTS:
 | |
| //
 | |
| //  this_object   : The monitor whose object size member needs to be set.
 | |
| //
 | |
| //  size          : The new value to be assigned to mlObjectSize.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  The long size value.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This C/VB translation function provides access to the C++ data member
 | |
| //  ALMonitor::mlObjectSize.  Why would you want to change this
 | |
| //  data member?  Normally this data member is set up by the member functions
 | |
| //  of ALArchiveBase before performing an operation.  If you are trying
 | |
| //  to use a monitor to provide feedback on an operation of your own,
 | |
| //  such as a file copy, you would  have to set the data member up
 | |
| //  using this function.
 | |
| //
 | |
| //  This function first tests its handle argument for correct type (when in
 | |
| //  debug mode), then casts and modifies the data member.
 | |
| //
 | |
| //  This function is like all of the other translation routines in that
 | |
| //  it is fairly uninformative.  To get the real scoop on monitor objects,
 | |
| //  look at MONITOR.CPP and ARCHIVEB.CPP.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   May 24, 1994  1.0A  : First release
 | |
| //
 | |
| 
 | |
| extern "C" long AL_FUNCTION ALMonitorSetObjectSize( hALMonitor this_object,
 | |
|                                                      long size )
 | |
| {
 | |
|     AL_ASSERT_OBJECT( this_object, ALMonitor, "ALMonitorSetObjectSize" );
 | |
|     return ( (ALMonitor *) this_object )->mlObjectSize = size;
 | |
| }
 | |
| 
 | |
| //
 | |
| // extern "C" long ALMonitorSetObjectStart( hALMonitor this_object,
 | |
| //                                          long offset )
 | |
| //
 | |
| // ARGUMENTS:
 | |
| //
 | |
| //  this_object   : The monitor whose object start member needs to be set.
 | |
| //
 | |
| //  offset        : The new value to be assigned to mlObjectStart.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  The long offset value.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This C/VB translation function provides access to the C++ data member
 | |
| //  ALMonitor::mlObjectStart.  Why would you want to change this
 | |
| //  data member?  Normally this data member is set up by the member functions
 | |
| //  of ALArchiveBase before performing an operation.  If you are trying
 | |
| //  to use a monitor to provide feedback on an operation of your own,
 | |
| //  such as a file copy, you would  have to set the data member up
 | |
| //  using this function.
 | |
| //
 | |
| //  This function first tests its handle argument for correct type (when in
 | |
| //  debug mode), then casts and modifies the data member.
 | |
| //
 | |
| //  This function is like all of the other translation routines in that
 | |
| //  it is fairly uninformative.  To get the real scoop on monitor objects,
 | |
| //  look at MONITOR.CPP and ARCHIVEB.CPP.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   May 24, 1994  1.0A  : First release
 | |
| //
 | |
| 
 | |
| extern "C" long AL_FUNCTION ALMonitorSetObjectStart( hALMonitor this_object,
 | |
|                                                      long offset )
 | |
| {
 | |
|     AL_ASSERT_OBJECT( this_object, ALMonitor, "ALMonitorSetObjectStart" );
 | |
|     return ( (ALMonitor *) this_object )->mlObjectStart = offset;
 | |
| }
 | |
| 
 | |
| //
 | |
| // extern "C" long ALMonitorSetJobSize( hALMonitor this_object,
 | |
| //                                      long size )
 | |
| //
 | |
| // ARGUMENTS:
 | |
| //
 | |
| //  this_object   : The monitor whose job size member needs to be set.
 | |
| //
 | |
| //  size          : The new value to be assigned to mlJobSize.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  The long size value.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This C/VB translation function provides access to the C++ data member
 | |
| //  ALMonitor::mlJobSize.  Why would you want to change this
 | |
| //  data member?  Normally this data member is set up by the member functions
 | |
| //  of ALArchiveBase before performing an operation.  If you are trying
 | |
| //  to use a monitor to provide feedback on an operation of your own,
 | |
| //  such as a batch file copy, you would  have to set the data member up
 | |
| //  using this function.
 | |
| //
 | |
| //  This function first tests its handle argument for correct type (when in
 | |
| //  debug mode), then casts and modifies the data member.
 | |
| //
 | |
| //  This function is like all of the other translation routines in that
 | |
| //  it is fairly uninformative.  To get the real scoop on monitor objects,
 | |
| //  look at MONITOR.CPP and ARCHIVEB.CPP.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   May 24, 1994  1.0A  : First release
 | |
| //
 | |
| 
 | |
| extern "C" long AL_FUNCTION ALMonitorSetJobSize( hALMonitor this_object,
 | |
|                                                  long size )
 | |
| {
 | |
|     AL_ASSERT_OBJECT( this_object, ALMonitor, "ALMonitorSetJobSize" );
 | |
|     return ( (ALMonitor *) this_object )->mlJobSize = size;
 | |
| }
 | |
| 
 | |
| //
 | |
| // extern "C" long ALMonitorSetJobSoFar( hALMonitor this_object,
 | |
| //                                       long job_so_far )
 | |
| //
 | |
| // ARGUMENTS:
 | |
| //
 | |
| //  this_object   : The monitor whose "job so far" member needs to be set.
 | |
| //
 | |
| //  job_so_far    : The new value to be assigned to mlJobSoFar.   
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  The new value of mlJobSoFar.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This C/VB translation function provides access to the C++ data member
 | |
| //  ALMonitor::mlJobSoFar.  Why would you want to change this
 | |
| //  data member?  Normally this data member is set up by the member functions
 | |
| //  of ALArchiveBase before performing an operation.  If you are trying
 | |
| //  to use a monitor to provide feedback on an operation of your own,
 | |
| //  such as a batch file copy, you would  have to set the data member up
 | |
| //  using this function.
 | |
| //
 | |
| //  This function first tests its handle argument for correct type (when in
 | |
| //  debug mode), then casts and modifies the data member.
 | |
| //
 | |
| //  This function is like all of the other translation routines in that
 | |
| //  it is fairly uninformative.  To get the real scoop on monitor objects,
 | |
| //  look at MONITOR.CPP and ARCHIVEB.CPP.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   May 24, 1994  1.0A  : First release
 | |
| //
 | |
| 
 | |
| extern "C" long AL_FUNCTION ALMonitorSetJobSoFar( hALMonitor this_object,
 | |
|                                                    long job_so_far )
 | |
| {
 | |
|     AL_ASSERT_OBJECT( this_object, ALMonitor, "ALMonitorSetJobSoFar" );
 | |
|     return ( (ALMonitor *) this_object )->mlJobSoFar = job_so_far;
 | |
| }
 | |
| 
 | |
| //
 | |
| // extern "C" void deleteALMonitor( hALMonitor this_object )
 | |
| //
 | |
| // ARGUMENTS:
 | |
| //
 | |
| //  this_object  : The monitor object to be destroyed.  This will usually
 | |
| //                 be an object from a derived class, not the base class.
 | |
| //                 The dtor is virtual, so we always call the base
 | |
| //                 class destructor using this function.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  No returns, this is a destructor.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This is the C/VB wrapper function that calls the destructor for an
 | |
| //  ALMonitor object.  This is a virtual destructor, so you won't find
 | |
| //  equivalent functions defined for the base classes used with
 | |
| //  ArchiveLib.
 | |
| //
 | |
| //  This function just checks its single argument for correct type, then
 | |
| //  casts it and calls the destructor.
 | |
| //
 | |
| //  Like most of these wrapper functions, this is fairly unenlightening.
 | |
| //  For more real dirt, try looking at the base class dtor in MONITOR.CPP,
 | |
| //  or derived class dtors in BARGRAPH.CPP and WINMON.CPP.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   May 25, 1994  1.0A  : First release
 | |
| //
 | |
| 
 | |
| extern "C" void AL_FUNCTION deleteALMonitor( hALMonitor this_object )
 | |
| {
 | |
|     AL_ASSERT_OBJECT( this_object, ALMonitor, "deleteALMonitor" );
 | |
|     delete (ALMonitor *) this_object;
 | |
| }
 | |
| 
 |