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