Panda3D
Public Member Functions | Static Public Member Functions | List of all members
Notify Class Reference

An object that handles general error reporting to the user. More...

Public Member Functions

 __init__ ()
 
 __init__ (const Notify)
 
 clearAssertFailed ()
 Resets the assert_failed flag that is set whenever an assertion test fails. More...
 
 clearAssertHandler ()
 Removes the installed assert handler and restores default behavior of nassertr() and nassertv(). More...
 
str getAssertErrorMessage ()
 Returns the error message that corresponds to the assertion that most recently failed. More...
 
 getAssertHandler ()
 Returns a pointer to the user-installed assert handler, if one was installed, or NULL otherwise. More...
 
NotifyCategory getCategory (str fullname)
 Finds or creates a new Category given the fullname of the Category. More...
 
NotifyCategory getCategory (str basename, NotifyCategory parent_category)
 Finds or creates a new Category given the basename of the category and its parent in the category hierarchy. More...
 
NotifyCategory getCategory (str basename, str parent_fullname)
 Finds or creates a new Category given the basename of the category and the fullname of its parent. More...
 
Ostream getOstreamPtr ()
 Returns the system-wide ostream for all Notify messages. More...
 
NotifyCategory getTopCategory ()
 Returns the topmost Category in the hierarchy. More...
 
bool hasAssertFailed ()
 Returns true if an assertion test has failed (and not been ignored) since the last call to clear_assert_failed(). More...
 
bool hasAssertHandler ()
 Returns true if a user assert handler has been installed, false otherwise. More...
 
 setOstreamPtr (Ostream ostream_ptr, bool delete_later)
 Changes the ostream that all subsequent Notify messages will be written to. More...
 

Static Public Member Functions

static Ostream null ()
 A convenient way to get an ostream that doesn't do anything. More...
 
static Ostream out ()
 A convenient way to get the ostream that should be written to for a Notify- type message. More...
 
static Notify ptr ()
 Returns the pointer to the global Notify object. More...
 
static writeString (str str)
 A convenient way for scripting languages, which may know nothing about ostreams, to write to Notify. More...
 

Detailed Description

An object that handles general error reporting to the user.

It contains a pointer to an ostream, initially cerr, which can be reset at will to point to different output devices, according to the needs of the application. All output generated within Panda should vector through the Notify ostream.

This also includes a collection of Categories and Severities, which may be independently enabled or disabled, so that error messages may be squelched or respected according to the wishes of the user.

Member Function Documentation

◆ __init__() [1/2]

__init__ ( )

◆ __init__() [2/2]

__init__ ( const  Notify)

◆ clearAssertFailed()

clearAssertFailed ( )

Resets the assert_failed flag that is set whenever an assertion test fails.

See has_assert_failed().

◆ clearAssertHandler()

clearAssertHandler ( )

Removes the installed assert handler and restores default behavior of nassertr() and nassertv().

◆ getAssertErrorMessage()

str getAssertErrorMessage ( )

Returns the error message that corresponds to the assertion that most recently failed.

◆ getAssertHandler()

getAssertHandler ( )

Returns a pointer to the user-installed assert handler, if one was installed, or NULL otherwise.

◆ getCategory() [1/3]

NotifyCategory getCategory ( str  fullname)

Finds or creates a new Category given the fullname of the Category.

This name should be a sequence of colon-separated names of parent Categories, ending in the basename of this Category, e.g. display:glxdisplay. This is a shorthand way to define a Category when a pointer to its parent is not handy.

◆ getCategory() [2/3]

NotifyCategory getCategory ( str  basename,
NotifyCategory  parent_category 
)

Finds or creates a new Category given the basename of the category and its parent in the category hierarchy.

The parent pointer may be NULL to indicate this is a top-level Category.

◆ getCategory() [3/3]

NotifyCategory getCategory ( str  basename,
str  parent_fullname 
)

Finds or creates a new Category given the basename of the category and the fullname of its parent.

This is another way to create a category when you don't have a pointer to its parent handy, but you know the name of its parent. If the parent Category does not already exist, it will be created.

◆ getOstreamPtr()

Ostream getOstreamPtr ( )

Returns the system-wide ostream for all Notify messages.

◆ getTopCategory()

NotifyCategory getTopCategory ( )

Returns the topmost Category in the hierarchy.

This may be used to traverse the hierarchy of available Categories.

◆ hasAssertFailed()

bool hasAssertFailed ( )

Returns true if an assertion test has failed (and not been ignored) since the last call to clear_assert_failed().

When an assertion test fails, the assert handler may decide either to abort, return, or ignore the assertion. Naturally, if it decides to abort, this flag is irrelevant. If it chooses to ignore the assertion, the flag is not set. However, if the assert handler chooses to return out of the function (the normal case), it will also set this flag to indicate that an assertion failure has occurred.

This will also be the behavior in the absence of a user-defined assert handler.

◆ hasAssertHandler()

bool hasAssertHandler ( )

Returns true if a user assert handler has been installed, false otherwise.

◆ null()

static Ostream null ( )
static

A convenient way to get an ostream that doesn't do anything.

Returned by Category::out() when a particular Category and/or Severity is disabled.

◆ out()

static Ostream out ( )
static

A convenient way to get the ostream that should be written to for a Notify- type message.

Also see Category::out() for a message that is specific to a particular Category.

◆ ptr()

static Notify ptr ( )
static

Returns the pointer to the global Notify object.

There is only one of these in the world.

◆ setOstreamPtr()

setOstreamPtr ( Ostream  ostream_ptr,
bool  delete_later 
)

Changes the ostream that all subsequent Notify messages will be written to.

If the previous ostream was set with delete_later = true, this will delete the previous ostream. If ostream_ptr is NULL, this resets the default to cerr.

◆ writeString()

static writeString ( str  str)
static

A convenient way for scripting languages, which may know nothing about ostreams, to write to Notify.

This writes a single string, followed by an implicit newline, to the Notify output stream.