255 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			255 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| //
 | |
| //  OBJNAME.INL
 | |
| //
 | |
| //  Source file for ArchiveLib 2.0
 | |
| //  Inline function definitions
 | |
| //
 | |
| //  Copyright (c) Greenleaf Software, Inc. 1994-1996
 | |
| //  All Rights Reserved
 | |
| //
 | |
| // CONTENTS
 | |
| //
 | |
| //  ALName::GetName()
 | |
| //  ALName::GetOldName()
 | |
| //  operator<<( ostream& stream, const ALName &object )
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  Inline functions for class ALGlCompressor and ALGlDecompressor.
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   February 14, 1996  2.0A : New release
 | |
| 
 | |
| 
 | |
| //
 | |
| // NAME
 | |
| //
 | |
| //  ALName::GetName()
 | |
| //
 | |
| // PLATFORMS/ENVIRONMENTS
 | |
| //
 | |
| //  Console  Windows  PM
 | |
| //  C++
 | |
| //
 | |
| // SHORT DESCRIPTION
 | |
| //
 | |
| //  Retrieve a character pointer from an object name
 | |
| //
 | |
| // C++ SYNOPSIS
 | |
| //
 | |
| //  #include "arclib.h"
 | |
| //
 | |
| //  const char * ALName::GetName() const
 | |
| //
 | |
| // C SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // VB SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DELPHI SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // ARGUMENTS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  To help make my life a little easier, storage object names are
 | |
| //  stored in the ALName class, instead of as raw strings.  But sometimes
 | |
| //  you need a standard C character pointer, instead of an ALName object.
 | |
| //  For example, if you are calling a function such as fopen() that
 | |
| //  expects a character pointer.  When that happens, we can use this
 | |
| //  function to retrieve a pointer to the real string inside the object.
 | |
| //  It returns a constant character pointer, which means you aren't allowed
 | |
| //  to jack with the contents of the string, good thing.
 | |
| //
 | |
| //  Why is there no C translation version of this function?  C can't deal
 | |
| //  with ALName objects very well, so I provide functions that return
 | |
| //  the name from a storage object directly, without having to track down
 | |
| //  the mName member of ALStorage first.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  A character pointer pointing to the string inside the object.  Note
 | |
| //  that under some circumstances, this could be a NULL pointer.  ALName
 | |
| //  objects by default are created with no string at all.
 | |
| //
 | |
| // EXAMPLE
 | |
| //
 | |
| // SEE ALSO
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   February 14, 1996  2.0A : New release
 | |
| //
 | |
| 
 | |
| 
 | |
| inline const char AL_DLL_FAR * AL_INLINE_PROTO
 | |
| ALName::GetName() const  /* Tag public function */
 | |
| {
 | |
|     return mszName;
 | |
| }
 | |
| 
 | |
| //
 | |
| // NAME
 | |
| //
 | |
| //  ALName::GetOldName()
 | |
| //
 | |
| // PLATFORMS/ENVIRONMENTS
 | |
| //
 | |
| //  Console  Windows  PM
 | |
| //  C++
 | |
| //
 | |
| // SHORT DESCRIPTION
 | |
| //
 | |
| //  Retrieve a character pointer from an old object name
 | |
| //
 | |
| // C++ SYNOPSIS
 | |
| //
 | |
| //  #include "arclib.h"
 | |
| //
 | |
| //  const char * ALName::GetOldName() const
 | |
| //
 | |
| // C SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // VB SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DELPHI SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // ARGUMENTS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  To help make my life a little easier, storage object names are
 | |
| //  stored in the ALName class, instead of as raw strings.  But sometimes
 | |
| //  you need a standard C character pointer, instead of an ALName object.
 | |
| //  For example, if you are calling a function such as fopen() that
 | |
| //  expects a character pointer.  When that happens, we can use this
 | |
| //  function to retrieve a pointer to the real string inside the object.
 | |
| //  It returns a constant character pointer, which means you aren't allowed
 | |
| //  to jack with the contents of the string, good thing.
 | |
| //
 | |
| //  This function returns the old name contained in the ALName object,
 | |
| //  instead of the name itself.  The old name gets updated whenever the
 | |
| //  main name changes.
 | |
| //
 | |
| //  Why is there no C translation version of this function?  C can't deal
 | |
| //  with ALName objects very well, so I provide functions that return
 | |
| //  the name from a storage object directly, without having to track down
 | |
| //  the mName member of ALStorage first.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  A character pointer pointing to the string inside the object.  Note
 | |
| //  that under some circumstances, this could be a NULL pointer.  ALName
 | |
| //  objects by default are created with no string at all.
 | |
| //
 | |
| // EXAMPLE
 | |
| //
 | |
| // SEE ALSO
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   February 14, 1996  2.0A : New release
 | |
| //
 | |
| 
 | |
| 
 | |
| inline const char AL_DLL_FAR * AL_INLINE_PROTO
 | |
| ALName::GetOldName() const  /* Tag public function */
 | |
| {
 | |
|     return mszOldName;
 | |
| }
 | |
| 
 | |
| //
 | |
| // NAME
 | |
| //
 | |
| //  ostream& operator<<( ostream&, const ALName &)
 | |
| //
 | |
| // PLATFORMS/ENVIRONMENTS
 | |
| //
 | |
| //  Console  Windows  PM
 | |
| //  C++
 | |
| //
 | |
| // SHORT DESCRIPTION
 | |
| //
 | |
| //  Sends an ALName object to an output stream.
 | |
| //
 | |
| // C++ SYNOPSIS
 | |
| //
 | |
| //  #include "arclib.h"
 | |
| //
 | |
| //  ostream& operator<<( ostream& stream,
 | |
| //                       const ALName &object )
 | |
| //
 | |
| // C SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // VB SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DELPHI SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // ARGUMENTS
 | |
| //
 | |
| //  stream  : An I/O stream.
 | |
| //
 | |
| //  object  : A reference to an ALName object.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  This stream operator makes it easy to send ALName objects
 | |
| //  to an output stream.  I need to define this function as inline,
 | |
| //  because it is tough to use far references to ostreams from a DLL.
 | |
| //  There are other problems associated with using this function
 | |
| //  in a DLL, and I don't understand them all.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  A reference to the stream provided as an operator.
 | |
| //
 | |
| // EXAMPLE
 | |
| //
 | |
| // SEE ALSO
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   February 14, 1996  2.0A : New release
 | |
| //
 | |
| 
 | |
| inline ostream&
 | |
| operator<<( ostream& stream, const ALName AL_DLL_FAR &object )  /* Tag public function */
 | |
| {
 | |
| #if defined( AL_USING_DLL ) && !defined( AL_LARGE_MODEL ) && !defined( AL_FLAT_MODEL )
 | |
|     const char _far *p = (STRINGF) object;
 | |
|     char *near_string = new char[ _fstrlen( p ) + 1 ];
 | |
|     if ( near_string ) {
 | |
|         _fstrcpy( near_string, p );
 | |
|         stream << near_string;
 | |
|         delete near_string;
 | |
|     } else
 | |
|          stream << "Memory allocation failure!";
 | |
| #else
 | |
|     stream << (STRINGF) object;
 | |
| #endif
 | |
|     return stream;
 | |
| }
 | |
| 
 |