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_Find (const kChar *name, kAssembly *assembly)
| Finds an assembly by name. More...
kStatus | kAssembly_FindDerivedTypes (kAssembly assembly, kType base, kArrayList types)
| Finds all types that descend from the specified base. 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...
kVersion | kAssembly_PlatformVersion (kAssembly assembly)
| Gets the platform version. 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...
kBool | kObject_HasForeignData (kObject object)
| Reports whether the object, including aggregated child elements, contains any foreign memory references. 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
Protected Member Functions inherited from kObject
kStatus | kObject_FreeMem (kObject object, void *mem)
| Protected method called by derived classes to free memory using the object's allocator. More...
kStatus | kObject_FreeMemRef (kObject object, void *mem)
| Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More...
kStatus | kObject_GetMem (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate memory using the object's allocator. More...
kStatus | kObject_GetMemZero (kObject object, kSize size, void *mem)
| Protected method called by derived classes to allocate and zero memory using the object's allocator. More...
kStatus | kObject_Init (kObject object, kType type, kAlloc alloc)
| Protected method called by derived classes to initialize the kObject base class. More...
kStatus | kObject_VDisposeItems (kObject object)
| Protected virtual method that destroys any aggregated child objects associated with a collection. More...
kBool | kObject_VEquals (kObject object, kObject other)
| Protected virtual method that compares two objects for equality. More...
kBool | kObject_VHasForeignData (kObject object)
| Protected virtual method that reports whether the object, including aggregated child elements, contains any foreign memory references. More...
kSize | kObject_VHashCode (kObject object)
| Protected virtual method that calculates a hash code representing the object instance. More...
kStatus | kObject_VInitClone (kObject object, kObject source, kAlloc allocator)
| Protected virtual method that clones (makes a deep copy of) the specified source object. More...
kStatus | kObject_VRelease (kObject object)
| Protected virtual method that deallocates any resources owned by the object. More...
kSize | kObject_VSize (kObject object)
| Protected virtual method that calculates the total size (in bytes) of the object instance. More...

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

- kAssembly.h