home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 November
/
VPR9611B.ISO
/
vabasic
/
ntclnt.exe
/
DISK8
/
data.8
/
datab
/
INCLUDE
/
LIBBASE.HH
< prev
next >
Wrap
Text File
|
1996-07-29
|
2KB
|
60 lines
//----------------------------------------------------------------
// $Source: /rcs/crcs/general/libbase.hh,v $
// Checked in by: $Author: alaind $
// $Date: 1996/04/17 17:50:34 $ $Revision: 1.5 $
//----------------------------------------------------------------
// Copyright(c) 1992, Visual Edge Software Ltd.
//
// ALL RIGHTS RESERVED. This notice is intended as a precaution
// against inadvertent publication, and shall not be deemed to
// consitute an acknowledgment that publication has occurred
// nor to imply any waiver of confidentiality. The year included
// in the notice is the year of the creation of the work.
//----------------------------------------------------------------------
// DESCRIPTION:
// This file contains the definition of the VeLibrary base
// class. To use libraries include libmgr.hh instead
// of using VeCreateLibrary directly
//----------------------------------------------------------------------
#ifndef LIBBASE_HH
#define LIBBASE_HH
#include <visedge.hh>
#include <dllclass.hh>
#include <vthread.hh> //For VeRefCount
class VeLibraryMgr;
class VeLibrary: public VeDllBasedClass
{
public:
VVIRTUALDECL(void *) Address (const char *funcName) = 0;
VMETHODDECL( unsigned long ) Acquire ();
VMETHODDECL( unsigned long ) Release ();
const char *Name() { return itsName; }
friend class VeLibraryMgr;
protected:
VOPERDECL VeLibrary(const char *libName, VeLibraryMgr *myManager);
virtual VOPERDECL ~VeLibrary();
VMETHODDECL( unsigned long ) Release (int forceUnload);
VeLibraryMgr *itsManager;
VeRefCount itsRefCount;
char *itsName;
};
//
// VeCreateLibrary should only be used inside VeLibraryMgr
// To create a library otherwise, use a VeLibraryMgr.
VFUNCDECL(VeLibrary *) VeCreateLibrary(const char *fname, VeLibraryMgr *manager);
#endif // LIBBASE_HH