casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
casa::LogOrigin Class Reference

LogOrigin: The source code location of the originator of a LogMessage. More...

#include <LogOrigin.h>

List of all members.

Public Member Functions

 LogOrigin ()
 The default constructor sets a null class name, function name, object id, source file name, and sets the line number to zero.
 LogOrigin (const String &globalFunctionName, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a global function.
 LogOrigin (const String &className, const String &memberFuncName, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a class member function.
 LogOrigin (const String &className, const String &memberFuncName, const ObjectID &id, const SourceLocation *where=0)
 Use this constructor if the log message origination is from a distributed object (don't worry if you don't know what this means).
 LogOrigin (const LogOrigin &other)
 Make this LogOrigin a copy of other.
LogOriginoperator= (const LogOrigin &other)
 ~LogOrigin ()
 
     

const StringtaskName () const
 Get or set the corresponding element of the source location.
LogOrigintaskName (const String &funcName)
const StringfunctionName () const
LogOriginfunctionName (const String &funcName)
const StringclassName () const
LogOriginclassName (const String &className)
const ObjectIDobjectID () const
LogOriginobjectID (const ObjectID &id)
uInt line () const
LogOriginline (uInt which)
const StringfileName () const
LogOriginfileName (const String &fileName)
LogOriginsourceLocation (const SourceLocation *where)
 Set the file name and line number at the same time.
String fullName () const
 Returns class::function for a member function, or ::function for a global function.
String toString () const
 Turn the entire origin into a String.
String location () const
 Turns the entire origin except for the ObjectID into a String.
Bool isUnset () const
 Return true if the line number and file name are not set.

Private Member Functions

void copy_other (const LogOrigin &other)
 Provide common implementation for copy constructor and assignment operator.

Private Attributes

String task_p
String function_p
String class_p
ObjectID id_p
uInt line_p
String file_p

Detailed Description

LogOrigin: The source code location of the originator of a LogMessage.

Intended use:

Public interface

Review Status

Reviewed By:
wbrouw
Date Reviewed:
1996/08/21
Test programs:
tLogging
Demo programs:
dLogging

Prerequisite

Etymology

Log[message] Origin[ation point].

Synopsis

The LogOriging class is used to record the location at which a LogMessage originates. It consists of:

Example

See the examples for LogMessage and in (see (file="Logging.h"))Logging.h .

Motivation

It can be very useful for debugging if you know where a message is coming from.

To Do

Definition at line 94 of file LogOrigin.h.


Constructor & Destructor Documentation

The default constructor sets a null class name, function name, object id, source file name, and sets the line number to zero.

casa::LogOrigin::LogOrigin ( const String globalFunctionName,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a global function.

Normally where is provided using the WHERE macro.

casa::LogOrigin::LogOrigin ( const String className,
const String memberFuncName,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a class member function.

Normally where is provided using the WHERE macro.

casa::LogOrigin::LogOrigin ( const String className,
const String memberFuncName,
const ObjectID id,
const SourceLocation *  where = 0 
)

Use this constructor if the log message origination is from a distributed object (don't worry if you don't know what this means).

Normally where is provided using the WHERE macro.

Make this LogOrigin a copy of other.

     


Member Function Documentation

LogOrigin& casa::LogOrigin::className ( const String className)
void casa::LogOrigin::copy_other ( const LogOrigin other) [private]

Provide common implementation for copy constructor and assignment operator.

LogOrigin& casa::LogOrigin::fileName ( const String fileName)

Returns class::function for a member function, or ::function for a global function.

Return true if the line number and file name are not set.

Turns the entire origin except for the ObjectID into a String.

The ObjectID can be turned into a string vie ObjectID::toString.

LogOrigin& casa::LogOrigin::operator= ( const LogOrigin other)
LogOrigin& casa::LogOrigin::sourceLocation ( const SourceLocation *  where)

Set the file name and line number at the same time.

Normally where will be defined with the WHERE macro.

Get or set the corresponding element of the source location.

Note that the "set" functions can be strung together:

        LogOrigin where;
        ..\.
        where.function("anotherFunc").line(__LINE__);
LogOrigin& casa::LogOrigin::taskName ( const String funcName)

Turn the entire origin into a String.


Member Data Documentation

Definition at line 174 of file LogOrigin.h.

Definition at line 177 of file LogOrigin.h.

Definition at line 173 of file LogOrigin.h.

Definition at line 175 of file LogOrigin.h.

Definition at line 176 of file LogOrigin.h.

Definition at line 172 of file LogOrigin.h.


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