Zen API

- Home
- Topics
- Types
- Files

All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
Public Member Functions
kAssembly Class Reference
kApi

## Description

Represents a library of types.

An assembly represents a collection of types. Typically, one assembly is defined per library or application.

The kAssembly_Enumerate method can be used to get a list of all loaded assemblies. The kAssemblyOf macro can be used to obtain a handle to a specific type assembly using the compile-time assembly symbol.

//prints a list of supplemental assemblies that have been constructed (i.e., assemblies other than kApiLib)
kStatus PrintOtherAssemblies()
{
kAssembly coreAssembly = kAssemblyOf(kApiLib);
kArrayList assemblyList = kNULL;
kSize i;
kTry
{
//get a list of the loaded assemblies
kTest(kArrayList_Construct(&assemblyList, kTypeOf(kAssembly), 0, kNULL));
kTest(kAssembly_Enumerate(assemblyList));
//print information for all assemblies except kApiLib
for (i = 0; i < kArrayList_Count(assemblyList); ++i)
{
kAssembly assembly = kArrayList_As_(assemblyList, i, kAssembly);
if (assembly != coreAssembly)
{
printf("%s (%u types)\n", kAssembly_Name(assembly), (k32u)kAssembly_TypeCount(assembly));
}
}
}
kFinally
{
//dispose the list of assemblies; each assembly handle returned by kAssembly_Enumerate
//is a reference-counted instance that must be destroyed
kObject_Dispose(assemblyList);
kEndFinally();
}
return kOK;
}
Inheritance diagram for kAssembly:

## Public Member Functions
kStatus | kAssembly_AddLoadHandler (kCallbackFx function, kPointer receiver)
| Adds a callback to be notified when a new assembly is loaded. More...
kStatus | kAssembly_AddUnloadedHandler (kCallbackFx function, kPointer receiver)
| Adds a callback to be notified after unloading an assembly. More...
kStatus | kAssembly_AddUnloadHandler (kCallbackFx function, kPointer receiver)
| Adds a callback to be notified just prior to unloading an assembly. More...
kAssembly | kAssembly_DependencyAt (kAssembly assembly, kSize index)
| Gets the assembly dependency at the specified index. More...
kSize | kAssembly_DependencyCount (kAssembly assembly)
| Gets the count of assembly dependencies. More...
kStatus | kAssembly_Enumerate (kArrayList assemblies)
| Gets a list of the currently-loaded assemblies. More...
kStatus | kAssembly_FindType (kAssembly assembly, const kChar *name, kType *type)
| Finds a type by name. More...
const kChar * | kAssembly_Name (kAssembly assembly)
| Gets the assembly name. More...
kStatus | kAssembly_RemoveLoadHandler (kCallbackFx function, kPointer receiver)
| Removes a callback that was registered with the kAssembly_AddLoadHandler function. More...
kStatus | kAssembly_RemoveUnloadedHandler (kCallbackFx function, kPointer receiver)
| Removes a callback that was registered with the kAssembly_AddUnloadedHandler function. More...
kStatus | kAssembly_RemoveUnloadHandler (kCallbackFx function, kPointer receiver)
| Removes a callback that was registered with the kAssembly_AddUnloadHandler function. More...
kType | kAssembly_TypeAt (kAssembly assembly, kSize index)
| Gets the type at a particular index within an assembly. More...
kSize | kAssembly_TypeCount (kAssembly assembly)
| Gets the number of types in an assembly. More...
kVersion | kAssembly_Version (kAssembly assembly)
| Gets the assembly version. More...
Public Member Functions inherited from kObject
kAlloc | kObject_Alloc (kObject object)
| Gets the memory allocator associated with this object. More...
kStatus | kObject_Clone (kObject *object, kObject source, kAlloc allocator)
| Constructs a new object by copying an existing object, including any aggregated child elements. More...
kStatus | kObject_Destroy (kObject object)
| Destroys the object. More...
kStatus | kObject_Dispose (kObject object)
| Destroys the object and any aggregated child elements. More...
kBool | kObject_Equals (kObject object, kObject other)
| Determines whether the object is equal to another object. More...
kSize | kObject_HashCode (kObject object)
| Gets a hash code representing the state of this object. More...
kBool | kObject_Is (kObject object, kType type)
| Determines whether this object is an instance of the specified type. More...
kBool | kObject_IsShared (kObject object)
| Reports whether the object is currently shared (reference count greater than one). More...
kStatus | kObject_SetPool (kObject object, kObjectPool pool)
| Sets the object pool associated with this object. More...
kStatus | kObject_Share (kObject object)
| Increments the reference count associated with this object. More...
kSize | kObject_Size (kObject object)
| Estimates the memory consumed by this object, including any aggregated child elements. More...
kType | kObject_Type (kObject object)
| Returns the type of the object. More...

## Additional Inherited Members
Related inherited from kObject
#define | kObject_Type_(OBJ) kxObject_Type_(OBJ)
| Macro version of kObject_Type.
#define | kObject_Is_(OBJ, TYPE) kxObject_Is_(OBJ, TYPE)
| Macro version of kObject_Is.
#define | kObject_Alloc_(OBJ) kxObject_Allocator_(OBJ)
| Macro version of kObject_Alloc.

The documentation for this class was generated from the following file:

- kAssembly.h