Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kAssembly Class Reference

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;
{
//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));
}
}
}
{
//dispose the list of assemblies; each assembly handle returned by kAssembly_Enumerate
//is a reference-counted instance that must be destroyed
kObject_Dispose(assemblyList);
}
return kOK;
}
Inheritance diagram for kAssembly:
Inheritance graph

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 kCharkAssembly_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


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