campo-sirio/arch/cxl_mon.cpp

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;
}