ClanSoft logo
ClanSoft logo
Entire Class Index Main Class Index Cross Index Global Index

Class CL_Assert

This is ClanLib's assertion class.
Contained in: global
Derived from: none
Derived by: none
Group: Core (System)

#include <ClanLib/core.h>


public function member index:

Operations:

static void enable_channels(int channel_mask);
static void die(bool a, const char* file, int line, const char* func, const char* assert_str);
static void info(int channel, const char* text, const char* file, int line);
static void add_listener(CL_AssertListener* listener);
static void remove_listener(CL_AssertListener* listener);
 

Description:

It is needed because some implementations requires to be notified before ClanLib is exited. For instance the svgalib implementation need release the keyboard lock.


Function Member Descriptions:

CL_Assert::add_listener - Adds an assertion listener which will be called in case of an assertion.
static void add_listener(CL_AssertListener* listener);
listener - The listener to be added.



CL_Assert::die - Produces an assert.
This function shouldn't be called directly - instead, use the cl_assert macro. For example: cl_assert(should_not_be_zero != 0)
static void die(bool a, const char* file, int line, const char* func, const char* assert_str);
a - Asserts if false.
file - Name of the file where the assert occurred.
line - Line in the file where the assert occurred.
func - Function in which the assert occurred.
assert_str - String that describe the assertion check.



CL_Assert::enable_channels - Enabled the error channels specified by the 'channel_mask'.
This can be used to get extra debugging information from limited parts of ClanLib.
static void enable_channels(int channel_mask);
channel_mask - Channels to be enabled.



CL_Assert::info - Writes an info statements on the specified channel.
Don't call this one directly, instead use the cl_info macro. For example: cl_info(info_network, "MyClass::my_funx - Hello World.");
static void info(int channel, const char* text, const char* file, int line);
channel - Channel to use. (Use the ErrorChannels enum's)
text - text to print.
file - Name of the file where this was printed from.
line - Line in the file where this was printed from.



CL_Assert::remove_listener - Removes an assertion listener.
static void remove_listener(CL_AssertListener* listener);
listener - The listener to be removed.




Variable Member Descriptions: