Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kPlugin.h
Go to the documentation of this file.
1 
10 #ifndef K_API_PLUGIN_H
11 #define K_API_PLUGIN_H
12 
13 #include <kApi/kApiDef.h>
14 #include <kApi/Utils/kPlugin.x.h>
15 
26 //typedef kObject kPlugin; --forward-declared in kApiDef.x.h
27 
39 kFx(kStatus) kPlugin_Construct(kPlugin* plugin, const kChar* path, kAlloc allocator);
40 
82 kFx(kStatus) kPlugin_ConstructEx(kPlugin* plugin, const kChar* path, kVersion requiredPlatformVersion, kVersion* platformVersion,
83  kVersion requiredAssemblyVersion, kVersion* assemblyVersion, kAlloc allocator);
84 
93 {
94  kObj(kPlugin, plugin);
95 
96  return obj->assembly;
97 }
98 
107 {
108  kObj(kPlugin, plugin);
109 
110  return obj->library;
111 }
112 
113 #endif
kStatus kPlugin_ConstructEx(kPlugin *plugin, const kChar *path, kVersion requiredPlatformVersion, kVersion *platformVersion, kVersion requiredAssemblyVersion, kVersion *assemblyVersion, kAlloc allocator)
Constructs a kPlugin object, optionally performing version checks to ensure compatibility.
Represents a library of types.
kAssembly kPlugin_Assembly(kPlugin plugin)
Gets the assembly associated with this plugin.
Definition: kPlugin.h:92
Abstract base class for memory allocator types.
#define kInlineFx(TYPE)
Inline method declaration helper.
Definition: kApiDef.h:26
Represents a single unit (byte) in a UTF-8 character.
kDynamicLib kPlugin_Library(kPlugin plugin)
Gets the library associated with this plugin.
Definition: kPlugin.h:106
Represents a dynamically loaded assembly.
kStatus kPlugin_Construct(kPlugin *plugin, const kChar *path, kAlloc allocator)
Constructs a kPlugin object.
#define kObj(TypeName_T, T_object)
Declares a local "obj" (this-pointer) variable and initializes it from a type-checked object handle...
Definition: kApiDef.h:3383
Core Zen type declarations.
Represents a version number.
Represents an error code.
Represents a dynamically loaded library.