Nebula
Loading...
Searching...
No Matches
IO::Console Class Reference

#include <console.h>

Detailed Description

Nebula's console, this is the central place for command- line-style communication with the user.

By default, all output will just disappear unless console handlers are added. Console handlers are user-derivable objects which do something with the output and may provide text input.

Inherits Core::RefCounted.

Public Member Functions

 Console ()
 constructor
 
virtual ~Console ()
 destructor
 
void Open ()
 open the console
 
void Close ()
 close the console
 
bool IsOpen () const
 return true if currently open
 
void Update ()
 called per-frame
 
void AttachHandler (const Ptr< ConsoleHandler > &handler)
 attach a console handler to the console
 
void RemoveHandler (const Ptr< ConsoleHandler > &handler)
 remove a console handler from the console
 
Util::Array< Ptr< ConsoleHandler > > GetHandlers () const
 get array of currently installed handlers
 
bool HasInput () const
 return true if user input is available
 
Util::String GetInput () const
 get user input
 
void __cdecl Print (const char *fmt,...)
 print a formatted line (printf style)
 
void __cdecl Print (const char *fmt, va_list argList)
 print a formatted line (printf style)
 
void Print (const Util::String &s)
 print a string object
 
void __cdecl Error (const char *fmt,...)
 put an error message and cancel execution
 
void __cdecl Error (const char *fmt, va_list argList)
 put an error message and cancel execution
 
void __cdecl Warning (const char *fmt,...)
 put a warning message
 
void __cdecl Warning (const char *fmt, va_list argList)
 put a warning message
 
void __cdecl Confirm (const char *fmt,...)
 display a confirmation message box
 
void __cdecl Confirm (const char *fmt, va_list argList)
 display a confirmation message box
 
void __cdecl DebugOut (const char *fmt,...)
 print a debug-only message
 
void __cdecl DebugOut (const char *fmt, va_list argList)
 print a debug-only message
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Protected Attributes

Threading::ThreadId creatorThreadId
 
Threading::CriticalSection critSect
 
Util::Array< Ptr< ConsoleHandler > > consoleHandlers
 
bool isOpen
 

Private Member Functions

 __DeclareClass (Console)
 
 __DeclareInterfaceSingleton (Console)
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Constructor & Destructor Documentation

◆ Console()

IO::Console::Console ( )

constructor

◆ ~Console()

IO::Console::~Console ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

IO::Console::__DeclareClass ( Console )
private

◆ __DeclareInterfaceSingleton()

IO::Console::__DeclareInterfaceSingleton ( Console )
private

◆ AttachHandler()

void IO::Console::AttachHandler ( const Ptr< ConsoleHandler > & handler)

attach a console handler to the console

◆ Close()

void IO::Console::Close ( )

close the console

◆ Confirm() [1/2]

void IO::Console::Confirm ( const char * fmt,
va_list argList )

display a confirmation message box

◆ Confirm() [2/2]

void IO::Console::Confirm ( const char * fmt,
... )

display a confirmation message box

◆ DebugOut() [1/2]

void IO::Console::DebugOut ( const char * fmt,
va_list argList )

print a debug-only message

◆ DebugOut() [2/2]

void IO::Console::DebugOut ( const char * fmt,
... )

print a debug-only message

◆ Error() [1/2]

void IO::Console::Error ( const char * fmt,
va_list argList )

put an error message and cancel execution

◆ Error() [2/2]

void IO::Console::Error ( const char * fmt,
... )

put an error message and cancel execution

◆ GetHandlers()

Util::Array< Ptr< ConsoleHandler > > IO::Console::GetHandlers ( ) const
inline

get array of currently installed handlers

◆ GetInput()

String IO::Console::GetInput ( ) const

get user input

◆ HasInput()

bool IO::Console::HasInput ( ) const

return true if user input is available

◆ IsOpen()

bool IO::Console::IsOpen ( ) const
inline

return true if currently open

◆ Open()

void IO::Console::Open ( )

open the console

◆ Print() [1/3]

void IO::Console::Print ( const char * fmt,
va_list argList )

print a formatted line (printf style)

◆ Print() [2/3]

void IO::Console::Print ( const char * fmt,
... )

print a formatted line (printf style)

◆ Print() [3/3]

void IO::Console::Print ( const Util::String & s)

print a string object

◆ RemoveHandler()

void IO::Console::RemoveHandler ( const Ptr< ConsoleHandler > & handler)

remove a console handler from the console

◆ Update()

void IO::Console::Update ( )

called per-frame

This method may only be called from the main thread!

◆ Warning() [1/2]

void IO::Console::Warning ( const char * fmt,
va_list argList )

put a warning message

◆ Warning() [2/2]

void IO::Console::Warning ( const char * fmt,
... )

put a warning message

Member Data Documentation

◆ consoleHandlers

Util::Array<Ptr<ConsoleHandler> > IO::Console::consoleHandlers
protected

◆ creatorThreadId

Threading::ThreadId IO::Console::creatorThreadId
protected

◆ critSect

Threading::CriticalSection IO::Console::critSect
protected

◆ isOpen

bool IO::Console::isOpen
protected

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