Base Module  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FDynLibrary Class Reference

Platform independent dynamic library loader. More...

#include <fdynlib.h>

+ Inheritance diagram for FDynLibrary:

Public Member Functions

 FDynLibrary (const char *name=nullptr, bool addExtension=true)
 Constructor.
 
 ~FDynLibrary () override
 Destructor.
 
bool init (const char *name, bool addExtension=true)
 Loads the library if not already loaded.
 
void * getProcAddress (const char *name)
 Returns the address of the procedure name.
 
bool isLoaded ()
 Returns true when the library was successfully loaded.
 
bool unload ()
 Unloads the library if it is loaded.
 
void * getPlatformInstance () const
 Returns the platform dependent representation of the library instance.
 
- Public Member Functions inherited from FObject
 FObject ()=default
 default constructor...
 
 FObject (const FObject &)
 
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
 
virtual ~FObject ()
 destructor...
 
virtual FClassID isA () const
 a local alternative to getFClassID ()
 
virtual bool isA (FClassID s) const
 evaluates if the passed ID is of the FObject type
 
virtual bool isTypeOf (FClassID s, bool=true) const
 evaluates if the passed ID is of the FObject type
 
int32 getRefCount ()
 returns the current interface reference count
 
FUnknown * unknownCast ()
 get FUnknown interface from object
 
tresult queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE
 please refer to FUnknown::queryInterface ()
 
uint32 addRef () SMTG_OVERRIDE
 please refer to FUnknown::addref ()
 
uint32 release () SMTG_OVERRIDE
 please refer to FUnknown::release ()
 
void update (FUnknown *, int32) SMTG_OVERRIDE
 empty virtual method that should be overridden by derived classes for data updates upon changes
 
virtual void addDependent (IDependent *dep)
 adds dependency to the object
 
virtual void removeDependent (IDependent *dep)
 removes dependency from the object
 
virtual void changed (int32 msg=kChanged)
 Inform all dependents, that the object has changed.
 
virtual void deferUpdate (int32 msg=kChanged)
 Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
 
virtual void updateDone (int32)
 empty virtual method that should be overridden by derived classes
 
virtual bool isEqualInstance (FUnknown *d)
 

Public Attributes

OBJ_METHODS(FDynLibrary,
FObject) protected void * 
instance
 

Additional Inherited Members

- Static Public Member Functions inherited from FObject
static FClassID getFClassID ()
 return Class ID as an ASCII string (statically)
 
static void setUpdateHandler (IUpdateHandler *handler)
 set method for the local attribute
 
static IUpdateHandler * getUpdateHandler ()
 get method for the local attribute
 
static bool classIDsEqual (FClassID ci1, FClassID ci2)
 compares (evaluates) 2 class IDs
 
static FObjectunknownToObject (FUnknown *unknown)
 pointer conversion from FUnknown to FObject
 
template<class Class >
static IPtr< Class > fromUnknown (FUnknown *unknown)
 convert from FUnknown to FObject
 
- Static Public Attributes inherited from FObject
static const FUID iid
 Special UID that is used to cast an FUnknown pointer to a FObject.
 
- Protected Attributes inherited from FObject
int32 refCount = 1
 COM-model local reference count.
 
- Static Protected Attributes inherited from FObject
static IUpdateHandler * gUpdateHandler = nullptr
 

Detailed Description

Platform independent dynamic library loader.

Constructor & Destructor Documentation

FDynLibrary ( const char *  name = nullptr,
bool  addExtension = true 
)

Constructor.

Loads the specified dynamic library.

Parameters
[in]namethe path of the library to load.
[in]addExtensionif true append the platform dependent default extension to name.
Remarks
  • If name specifies a full path, the FDynLibrary searches only that path for the library.
  • If name specifies a relative path or a name without path, FDynLibrary uses a standard search strategy of the current platform to find the library;
  • If name is NULL the library is not loaded.
    • Use init() to load the library.
~FDynLibrary ( )
override

Destructor.

The destructor unloads the library.

Member Function Documentation

bool init ( const char *  name,
bool  addExtension = true 
)

Loads the library if not already loaded.

This function is normally called by FDynLibrary().

Remarks
If the library is already loaded, this call has no effect.
void * getProcAddress ( const char *  name)

Returns the address of the procedure name.

bool isLoaded ( )
inline

Returns true when the library was successfully loaded.

bool unload ( )

Unloads the library if it is loaded.

This function is called by ~FDynLibrary ().

void* getPlatformInstance ( ) const
inline

Returns the platform dependent representation of the library instance.

Member Data Documentation

OBJ_METHODS (FDynLibrary, FObject) protected void* instance
Empty

Copyright ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.