1501 changed files with 0 additions and 1748649 deletions
-
74resources/3rdparty/pantheios-1.0.1-beta214/AUTHORS.txt
-
15498resources/3rdparty/pantheios-1.0.1-beta214/CHANGES.txt
-
586resources/3rdparty/pantheios-1.0.1-beta214/FAQ.txt
-
1637resources/3rdparty/pantheios-1.0.1-beta214/HISTORY.txt
-
117resources/3rdparty/pantheios-1.0.1-beta214/HOW_YOU_CAN_HELP.txt
-
43resources/3rdparty/pantheios-1.0.1-beta214/INSTALL.txt
-
21resources/3rdparty/pantheios-1.0.1-beta214/KNOWN_ISSUES.txt
-
38resources/3rdparty/pantheios-1.0.1-beta214/LICENSE.txt
-
538resources/3rdparty/pantheios-1.0.1-beta214/NEWS.txt
-
219resources/3rdparty/pantheios-1.0.1-beta214/README.txt
-
246resources/3rdparty/pantheios-1.0.1-beta214/TODO.txt
-
19resources/3rdparty/pantheios-1.0.1-beta214/bin/readme.html
-
8840resources/3rdparty/pantheios-1.0.1-beta214/build/ar/makefile
-
19946resources/3rdparty/pantheios-1.0.1-beta214/build/bc551/makefile
-
19946resources/3rdparty/pantheios-1.0.1-beta214/build/bc56/makefile
-
19946resources/3rdparty/pantheios-1.0.1-beta214/build/bc564/makefile
-
20250resources/3rdparty/pantheios-1.0.1-beta214/build/bc582/makefile
-
20250resources/3rdparty/pantheios-1.0.1-beta214/build/bc59x/makefile
-
20250resources/3rdparty/pantheios-1.0.1-beta214/build/bc61x/makefile
-
8152resources/3rdparty/pantheios-1.0.1-beta214/build/como433.unix/makefile
-
8990resources/3rdparty/pantheios-1.0.1-beta214/build/como433.win32/makefile
-
8152resources/3rdparty/pantheios-1.0.1-beta214/build/cw8.unix/makefile
-
16660resources/3rdparty/pantheios-1.0.1-beta214/build/cw8.win32/makefile
-
7538resources/3rdparty/pantheios-1.0.1-beta214/build/dm/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc32.unix/makefile
-
17352resources/3rdparty/pantheios-1.0.1-beta214/build/gcc32.win32/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.mac/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.unix/makefile
-
17352resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.win32/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc34.unix/makefile
-
17352resources/3rdparty/pantheios-1.0.1-beta214/build/gcc34.win32/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.mac.x64/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.mac/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc41.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc42.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc43.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc44.unix.file64bit/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc44.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc45.unix.file64bit/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc45.unix/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc46.unix.file64bit/makefile
-
15800resources/3rdparty/pantheios-1.0.1-beta214/build/gcc46.unix/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl10.win32/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl11.win32/makefile
-
17042resources/3rdparty/pantheios-1.0.1-beta214/build/icl12.win32/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl6.win32/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl7.win32/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl8.win32/makefile
-
24592resources/3rdparty/pantheios-1.0.1-beta214/build/icl9.win32/makefile
-
110resources/3rdparty/pantheios-1.0.1-beta214/build/readme.html
-
14800resources/3rdparty/pantheios-1.0.1-beta214/build/sunpro59x.unix/makefile
-
8369resources/3rdparty/pantheios-1.0.1-beta214/build/vc10.unixem/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc10.x64/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc10/makefile
-
8369resources/3rdparty/pantheios-1.0.1-beta214/build/vc11.unixem/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc11.x64/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc11/makefile
-
49798resources/3rdparty/pantheios-1.0.1-beta214/build/vc5/makefile
-
15386resources/3rdparty/pantheios-1.0.1-beta214/build/vc6.unixem/makefile
-
65674resources/3rdparty/pantheios-1.0.1-beta214/build/vc6/makefile
-
48702resources/3rdparty/pantheios-1.0.1-beta214/build/vc7/makefile
-
48702resources/3rdparty/pantheios-1.0.1-beta214/build/vc71/makefile
-
8369resources/3rdparty/pantheios-1.0.1-beta214/build/vc8.unixem/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc8.x64/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc8/makefile
-
8369resources/3rdparty/pantheios-1.0.1-beta214/build/vc9.unixem/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc9.x64/makefile
-
33583resources/3rdparty/pantheios-1.0.1-beta214/build/vc9/makefile
-
140resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.101/example.c.101.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.101/implicit_link.cpp
-
118resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.N/example.c.N.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.N/implicit_link.cpp
-
71resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.assert/example.c.assert.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.assert/implicit_link.cpp
-
71resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.core.pantheios_logprintf/example.c.core.pantheios_logprintf.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.core.pantheios_logprintf/implicit_link.cpp
-
74resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.extended_severity/example.c.extended_severity.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.extended_severity/implicit_link.cpp
-
79resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.log_n/example.c.log_n.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/example.c.log_n/implicit_link.cpp
-
186resources/3rdparty/pantheios-1.0.1-beta214/examples/c/util/example.c.util.getcurrenttime/example.c.util.getcurrenttime.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/util/example.c.util.getcurrenttime/implicit_link.cpp
-
137resources/3rdparty/pantheios-1.0.1-beta214/examples/c/util/example.c.util.gethostname/example.c.util.gethostname.c
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/c/util/example.c.util.gethostname/implicit_link.cpp
-
124resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.callback/example.cpp.backends.callback.cpp
-
40resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.callback/implicit_link.cpp
-
135resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file.callback/example.cpp.backends.file.callback.cpp
-
33resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file.callback/implicit_link.cpp
-
129resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file.lrsplit/example.cpp.backends.file.lrsplit.cpp
-
35resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file.lrsplit/implicit_link.cpp
-
130resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file/example.cpp.backends.file.cpp
-
33resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.file/implicit_link.cpp
-
125resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.mx.1/example.cpp.backends.mx.1.cpp
-
42resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.mx.1/implicit_link.cpp
-
125resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.mx.2/example.cpp.backends.mx.2.cpp
-
42resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/backends/example.cpp.backends.mx.2/implicit_link.cpp
-
66resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/contract/example.cpp.contract.PANTHEIOS_ASSERT/example.cpp.contract.PANTHEIOS_ASSERT.cpp
-
33resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/contract/example.cpp.contract.PANTHEIOS_ASSERT/implicit_link.cpp
-
66resources/3rdparty/pantheios-1.0.1-beta214/examples/cpp/contract/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT.cpp
@ -1,74 +0,0 @@ |
|||
pantheios - Authors |
|||
=================== |
|||
|
|||
Updated: 13th August 2011 |
|||
|
|||
|
|||
Authors: |
|||
|
|||
Matthew Wilson (all those crazy inventions) |
|||
Garth Lancaster (sage, salt 'o the earth, advice and counterpointing) |
|||
Adi Shavit (contributions that became be.speech) |
|||
|
|||
|
|||
Bug reports, fixes, questions, requests and suggestions (for which we are |
|||
very grateful): |
|||
|
|||
Felix Gartsman - VC++ 8 build problem |
|||
Mike Batten - GCC build problem on Linux |
|||
Volker Lucas - GCC build problem |
|||
CookieRaver - broken UNIX makefiles; be.file fixes and |
|||
suggestions; fe.N criticism |
|||
David Wang - VC++ string access shim (SYSTEMTIME) bug |
|||
Simon Sadler - suggestion for be.file; VC8 compilation issues; |
|||
dynamic library issues |
|||
Brad Cox - MAC OSX build problem; PPC vs Intel issues |
|||
Jim Bateman - be.COMErrorObject problems; b64 inserter compilation |
|||
problem; VC++ 9 compatibility issues |
|||
Mikael Pahmp - time formatting; missing file |
|||
Neal Becker - 64-bit Linux issues |
|||
S2027 - reported be.file Windows tail-ing issue, and provided fix. (Which |
|||
is nice.) |
|||
David Gibbs - reported VC8 / winstl::findfile_sequence bug. |
|||
Adi Shavit - distribution issues |
|||
Dave Nicholas - Linux linking issues |
|||
sjdc (Daniel) - fix for \r\n on Windows; highlighting further problems |
|||
with synchronisation. |
|||
alskc - reported bc564 build problem (in beta 29) |
|||
mis232 - reported build problems with 64-bit UNIX |
|||
spin-vector (Jay) - lots of ACE/UNIX/time issues & requests that'll be |
|||
seen over the late beta releases. |
|||
loo66 - Intel 9.1 compilation problem; not yet fixed |
|||
Mike Morel - integer inserter bug on 64-bit Linux |
|||
vortic - bug in beta 74 distro; out-of-date info supplied by libselw |
|||
Jonathan Wakely - bug in bec.file.h in 1.0.1 beta 104; request for Sun |
|||
compiler support; finding syslog bugs; finding big-endian gaffs; ACE + |
|||
UNIX makefiles (to appear in b188) |
|||
Lars Ivar Igesund - request for Trace explanations; request for Sun |
|||
compiler support |
|||
Sergey Nikulov - b64 bug reports & patches; UNIX compilation bug reports & |
|||
patches; FreeBSD compatibility |
|||
John Cook - Mac OS-X compilation problem (due to GCC being thick) |
|||
Juan Manuel Alvarez - missing implicit link headers; request for tutorials |
|||
Randy Freier - build questions |
|||
Maciej Kaniewski - Borland 5.9+ compatibility |
|||
Frank Audun Kvamtrø - request for extended back-end customisation |
|||
markitus82 - Borland compatibility |
|||
Jason Woodall - extended severity usage |
|||
Ali Sohanghpurwala - argument padding, FAQ |
|||
Derek Baikie - Intel 11 compilation issues |
|||
Jacobo Cabaleiro - thread-safety for be.file |
|||
jdt141 - GCC 4.2 trace example compile error |
|||
brandstaetter - Fedora build errors |
|||
Angel Tankson - enhancement requests for 2GB+ file support |
|||
John Corelli - be.N / fe.N enquiries, feature requests |
|||
wassime - contribution of custom front-end example |
|||
Skoobie Du - year+mon defect in date/time format specifiers in be.file |
|||
file name |
|||
Johan Franzén - reported unwanted conversion of integral argument to |
|||
CComBSTR / CString instance |
|||
itti83, mitchomtl - VC++10 compilation issues in test program(s); |
|||
|
|||
Contributions are welcomed. |
|||
|
|||
=============================== End of file ================================ |
15498
resources/3rdparty/pantheios-1.0.1-beta214/CHANGES.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,586 +0,0 @@ |
|||
pantheios - FAQ |
|||
=============== |
|||
|
|||
Updated: 27th December 2010 |
|||
|
|||
|
|||
|
|||
The FAQ list is under (constant) development. If you post a question on the |
|||
Tutorials forum (https://sourceforge.net/forum/forum.php?forum_id=647484) |
|||
it will be used to create one. |
|||
|
|||
FAQs: |
|||
===== |
|||
|
|||
Q1: "What happens if the Pantheios libraries fail to |
|||
initialise?" [2nd October 2006] |
|||
|
|||
A1: |
|||
The process will be terminated, via exit() (ExitProcess() on Windows) |
|||
|
|||
From 1.0.1 beta 4 onwards, library initialisation is also accompanied |
|||
by invocation of pantheios_onBailOut(), a fallback log function that is |
|||
used by the Core (and Front/Back-end(s)) to report on a failure to |
|||
initialise Pantheios. The output facilities are operating |
|||
system-dependent: |
|||
* on UNIX the bail-out message is written to syslog() and to |
|||
the console of the calling process (via fprintf()), and to |
|||
a local file "logging-bailout.txt" (appending if already |
|||
exists) |
|||
* on Windows the bail-out message is written to the debugger |
|||
(via OutputDebugString()), the console (if any) of the |
|||
calling process (via WriteFile()), to a local file |
|||
"logging-bailout.txt" (appending if already exists), and to |
|||
the Windows Event Log (under the source "logging-bailout"). |
|||
|
|||
Note: The Event Log messages will not be correctly formatted |
|||
(although their information will be accessible), unless |
|||
pantheios.COM is installed: The Windows bail-out |
|||
functionality piggy backs on the Event Log message resources |
|||
in pantheios.COM (version 1.0.1 beta 3 or later). |
|||
|
|||
|
|||
Q2: "What if I need more than 32 parameters?" |
|||
|
|||
A2: |
|||
You can regenerate the six automatically-generated files as follows: |
|||
- edit the scripts/make_hdrs.rb (Ruby) script |
|||
- change the NUM_PARAMS constant to the required value |
|||
- run the script from the scripts directory. You may have to change |
|||
file permissions of the automatically-generated files, if they're |
|||
read-only |
|||
|
|||
|
|||
Q3: "How do I represent a process Id?" [15th November 2007] |
|||
|
|||
A3: |
|||
By using the pantheios::processId inserter. |
|||
|
|||
#include <pantheios/inserters/ids.hpp> |
|||
|
|||
int main() |
|||
{ |
|||
pantheios::log_NOTICE("process id=", pantheios::processId); |
|||
} |
|||
|
|||
|
|||
Q4: "What is 'Pure Pantheios'?" [15th November 2007] |
|||
|
|||
A4: |
|||
Pantheios is primarily a logging _API_ library. That is, it is explictly |
|||
designed to layer over the top of other, feature-rich, logging libraries. |
|||
Of course, it comes with several of its own transport mechanisms, known as |
|||
back-ends, but they are not part of 'Pure Pantheios'. |
|||
|
|||
Technically speaking, 'Pure Pantheios' consists only of: |
|||
|
|||
- The Application Layer |
|||
- The Core |
|||
|
|||
The Application Layer talks only to the Core. The Core talks to a |
|||
Front-End and a Back-End, which are, strictly, external to |
|||
'Pure Pantheios'. |
|||
|
|||
The Core talks to the Front-End via the following four functions, declared |
|||
in include/pantheios/frontend.h: |
|||
|
|||
- pantheios_fe_init() |
|||
initialises the front-end; called at most once per process |
|||
- pantheios_fe_uninit() |
|||
uninitialises the front-end; called at most once per process |
|||
- pantheios_fe_getProcessIdentity() |
|||
returns a C-style string that names the current process, e.g. |
|||
"logdaemon"; called at most once per process |
|||
- pantheios_fe_isSeverityLogged() |
|||
returns an integer to indicate whether a log statement of a given |
|||
severity level is to be emitted to the Back-End; called each time |
|||
a statement is processed |
|||
|
|||
These functions must be implemented by any Front-End linked to the |
|||
application/shared object. |
|||
|
|||
The Core talks to the Back-End via the following three functions, declared |
|||
in include/pantheios/backend.h: |
|||
|
|||
- pantheios_be_init() |
|||
initialises the back-end; called at most once per process |
|||
- pantheios_be_uninit() |
|||
uninitialises the back-end; called at most once per process |
|||
- pantheios_be_logEntry() |
|||
called to emit each statement |
|||
|
|||
These functions must be implemented by any Back-End linked to the |
|||
application/shared object. |
|||
|
|||
Pantheios comes with a number of stock Front-End and Back-end libraries, |
|||
for the convenience of users. Furthermore, a number of Inserter Classes |
|||
are provided which supplement the Application Layer, including: |
|||
|
|||
- pantheios::integer - inserts an integer argument |
|||
- pantheios::real |
|||
- pantheios::pointer |
|||
- pantheios::character |
|||
- pantheios::args |
|||
- pantheios::blob |
|||
- pantheios::b64 |
|||
- pantheios::processId |
|||
- pantheios::threadId |
|||
|
|||
Importantly, instances of these Inserters do not perform any conversions |
|||
(or allocate memory) unless the given statement they are in is to be |
|||
emitted (as determined by pantheios_fe_isSeverityLogged()). This is one of |
|||
many ways in which Pantheios provides extremely high-levels of |
|||
performance. |
|||
|
|||
|
|||
Q5: "Is Pantheios thread-safe?" [19th November 2007] |
|||
|
|||
A5: |
|||
The short answer is: Yes. |
|||
|
|||
The long answer is: |
|||
|
|||
The Core is thread-safe. The Core initialisation/uninitialisation |
|||
functions are reference-counted. On architectures with atomic integer |
|||
operations *all* calls to pantheios_init() are thread-safe. On other |
|||
architectures *all* calls to pantheios_init() except the first are |
|||
thread-safe. |
|||
|
|||
The Application is layer is thread-safe simply because there is no |
|||
shared state between threads in any application layer components. |
|||
|
|||
As for the Front-end and Back-ends, the answer is: It depends. |
|||
|
|||
The Front-end functions pantheios_fe_init(), pantheios_fe_uninit() and |
|||
pantheios_fe_getProcessIdentity() are called at most once per-process |
|||
during the initialisation phase. Therefore, they do not need to be |
|||
thread-safe. The Front-end function pantheios_fe_isSeverityLogged() is |
|||
called every time a statement is processed, to evaluate whether the |
|||
statement should be emitted to the back-end(s). Thus, this function |
|||
must be thread-safe. |
|||
|
|||
The Back-end functions pantheios_be_init(), and pantheios_be_uninit() |
|||
are called at most once per-process during the initialisation phase. |
|||
Therefore, they do not need to be thread-safe. The Back-end function |
|||
pantheios_be_logEntry() is called every time a statement is to be |
|||
emitted. It must be thread-safe. |
|||
|
|||
All stock Front-end and Back-end implementations are thread-safe. |
|||
|
|||
If you write custom Front-end and/or Back-end, you must ensure that |
|||
the functions pantheios_fe_isSeverityLogged() and pantheios_be_logEntry() |
|||
are thread-safe. If you do so, your use of Pantheios will be entirely |
|||
thread-safe. |
|||
|
|||
|
|||
Q6: "How do I alter the number of parameters in the Application Layer?" [25th November 2007] |
|||
|
|||
A6: |
|||
There are two ways. |
|||
|
|||
First, if you wish to reduce the number of parameters in the Application |
|||
Layer - presumably to speed compilation when you don't need the full |
|||
range of parameters - then you can simply #define the pre-processor |
|||
symbol PANTHEIOS_APPL_PARAMS_LIMIT (introduced in 1.0.1 beta 60) to a |
|||
number between 1 and 32. |
|||
|
|||
Second, if you wish to increase the number of parameters available in |
|||
functions in the N-ary Function Templates of the Application Layer, you |
|||
must re-generate the Application Layer headers using the make_hdrs.rb |
|||
Ruby script in the script directory. However, we would advise that if |
|||
you are writing application code that needs to pass more than 32 |
|||
parameters to Pantheios, you are unlikely to be writing transparent |
|||
code, one of the design requirements of Pantheios. |
|||
|
|||
|
|||
Q7: "Why do the back-end(s) have to be specified at link-time?" [3rd January 2008] |
|||
|
|||
A7: |
|||
The short answer is: Because Pantheios is initialised automatically, |
|||
and before main() is called. (This is actually done by using the Schwarz |
|||
counters found in include/pantheios/internal/initialiser.hpp, included by |
|||
include/pantheios/pantheios.hpp unless in a DLL context or you #define |
|||
PANTHEIOS_NO_AUTO_INIT) |
|||
|
|||
This is done to allow any piece of code in any part of the system to be |
|||
able to log any conditions that may be necessary. If the process could not |
|||
log before main() started, this might not be possible; indeed, how would |
|||
you log a failure in another pre-main sub-system? |
|||
|
|||
The reason why this question comes up a lot is, of course, because users |
|||
quite reasonably want to be able to specify logging options, at the start |
|||
of main(). |
|||
|
|||
The best approach to cater for both requirements is as follows: |
|||
1. Link to be.N |
|||
2. Define the PAN_BE_N_BACKEND_LIST array (see the documentation on be.N) |
|||
for an explanation of how this works. Make sure to include an entry |
|||
for a back-end that does not need any configuration, e.g. be.syslog. |
|||
Then also include an entry for a back-end that provides run-time |
|||
customisation, say, be.YourConfigurableBackEnd. |
|||
3. Customise be.YourConfigurableBackEnd inside main(). If the program |
|||
does not make it as far as main(), at least you will have had some |
|||
logging output go to Syslog, via be.syslog. |
|||
|
|||
NOTE: A future version of Pantheios will include be.loader, which will |
|||
allow you to load and configure back-ends at runtime, based on |
|||
configuration file(s) |
|||
|
|||
|
|||
Q8: "I get linker errors with GCC, even though I'm specifying the core, |
|||
front-end and back-end libraries. I've used nm, and the core library |
|||
says it contains the missing symbols. What gives?" [28th January 2008] |
|||
|
|||
A8: |
|||
What's going on here is that GCC's linker reads symbols in a |
|||
left-to-right manner. The Pantheios initialisation functions - |
|||
pantheios_init(), pantheios_uninit() - must be elicited from the core |
|||
library, which is listed first in the libraries list. They then require |
|||
symbols from the back-end and front-end libraries, which come next in |
|||
the libraries list. They, in turn, require symbols from the core, which |
|||
must therefore be listed again, at the end of the libraries list. The |
|||
GCC makefiles included in the distribution do this, and can be used as |
|||
templates for how to do it in your own projects. |
|||
|
|||
|
|||
Q9: "Does Pantheios provide a configuration that yields a logged message |
|||
containing the containing function, equivalent to: |
|||
|
|||
log(informational, __FUNCTION__, ": my message"); |
|||
|
|||
without having to write that (or some wrapper that checks for compiler |
|||
support)." [15th March 2008] |
|||
|
|||
A9: |
|||
You need to #define PANTHEIOS_TRACE_PREFIX to what you want. By default |
|||
it is '__FILE__ "(" PANTHEIOS_STRINGIZE(__LINE__) "): "', which gives the |
|||
format '<file>(<line>): ' |
|||
|
|||
To include the function, lets says you want it to have the format |
|||
'<file>(<line>): <func>: '. To achieve this you'd define it as follows: |
|||
|
|||
#include <pantheios/pantheios.h> |
|||
#define PANTHEIOS_TRACE_PREFIX __FILE__ " " PANTHEIOS_STRINGIZE(__LINE__) ": " __FUNCTION__ ": " |
|||
#include <pantheios/trace.h> |
|||
|
|||
Note that the definition *must* come before the inclusion of |
|||
pantheios/trace.h. Therefore, a safer way of doing this is as follows: |
|||
|
|||
/* File: myPantheiosRootHeader.h */ |
|||
#include <pantheios/pantheios.h> |
|||
|
|||
#ifdef PANTHEIOS_INCL_PANTHEIOS_H_TRACE |
|||
# error pantheios/trace.h must not be included before myPantheiosRootHeader.h |
|||
#endif /* PANTHEIOS_INCL_PANTHEIOS_H_TRACE */ |
|||
|
|||
#define PANTHEIOS_TRACE_PREFIX __FILE__ " " PANTHEIOS_STRINGIZE(__LINE__) ": " __FUNCTION__ ": " |
|||
#include <pantheios/trace.h> |
|||
|
|||
|
|||
Q10: "Do you hand code the makefiles?" [18th June 2008] |
|||
|
|||
A10: |
|||
No, although it sometimes feels a bit like that. I use a proprietary |
|||
tool, tmpl2make, that takes a makefile template and a tools |
|||
configuration file, and runs a merge over them. The makefile template |
|||
language has IFDEF and FOREACH, but it's still a non-trivial effort to |
|||
start a new one, which is why I tend to copy them from established |
|||
projects (such as Pantheios) to new ones (flecxx, FastFormat). |
|||
|
|||
|
|||
Q11: "Have you considered CMake?" [18th June 2008] |
|||
|
|||
A11: |
|||
Yes, and it's on the roadmap for post 1.0 things to do (along with |
|||
project/solution files for XCode, Code::Blocks(), and so on). However, |
|||
it will always be the case that the raw makefiles will be available for |
|||
maximum portability. |
|||
|
|||
|
|||
Q12: "Which compilers support implicit linking with Pantheios?" [16th October 2008] |
|||
|
|||
A12: |
|||
Borland, Metrowerks CodeWarrior (on Windows), Intel (on Windows) and |
|||
Visual C++. |
|||
|
|||
|
|||
Q13: "How do I link when using compilers that don't support implicit linking?" [16th October 2008] |
|||
|
|||
A13: |
|||
You must use explicit linking. |
|||
|
|||
For example, say you're using GCC on UNIX, and wishing to use the |
|||
fe.simple front-end and along with the be.fprintf back-end. The |
|||
libraries you link to depend on the configuration. |
|||
|
|||
For single-threaded & debug, you need to link to: |
|||
|
|||
pantheios.1.core.gcc40.debug.a |
|||
pantheios.1.util.gcc40.debug.a |
|||
pantheios.1.fe.simple.gcc40.debug.a |
|||
pantheios.1.be.fprintf.gcc40.debug.a |
|||
pantheios.1.bec.fprintf.gcc40.debug.a |
|||
|
|||
The command-line will look like: |
|||
|
|||
g++ -Dunix -I$PANTHEIOS_ROOT/include -I$STLSOFT/include \ |
|||
-L$PANTHEIOS_ROOT/lib \ |
|||
-lpantheios.1.core.gcc40 \ |
|||
-lpantheios.1.fe.simple.gcc40 \ |
|||
-lpantheios.1.be.fprintf.gcc40 \ |
|||
-lpantheios.1.bec.fprintf.gcc40 \ |
|||
-lpantheios.1.core.gcc40 \ |
|||
-lpantheios.1.util.gcc40 \ |
|||
my_program.cpp |
|||
|
|||
Note the double specification of the pantheios.1.core.gcc40.debug.a |
|||
library. This is required with GCC because of the way it handles |
|||
library lookup and interpositioning: basically the core depends on |
|||
symbols defined in the front-end and back-end(s), and they in turn |
|||
depend on some symbols defined in the core, so it has to be specified |
|||
before and after them |
|||
|
|||
|
|||
Q14: "I'm using the Trace API, but it fails to print the function. Why?" [6th May 2009] |
|||
|
|||
A14: |
|||
You are using a compiler that does not support the __FUNCTION__ macro. At |
|||
the current time (Pantheios 1.0.1-beta 186, STLSoft 1.9.81), the compilers |
|||
known to support it are: |
|||
|
|||
* Comeau |
|||
* Digital Mars (8.50+) |
|||
* GCC (3+) |
|||
* Intel C/C++ (7+) |
|||
* Metrowerks CodeWarrior (8+) |
|||
* Visual C++ (7.0+) |
|||
* Watcom C/C++ (OpenWatcom 1.4+) |
|||
* SunPro 5.9 (by defining __FUNCTION__ in terms of the compiler-specific |
|||
__func__) |
|||
|
|||
Those known to not support it are: |
|||
|
|||
* Borland (all versions 5.5 - 6.1) |
|||
* VectorC |
|||
|
|||
If your compiler does not support it, then the only avenue available if |
|||
you absolutely must have it, is to #define it in each function, as in: |
|||
|
|||
int main() |
|||
{ |
|||
#define __FUNCTION__ main |
|||
|
|||
PANTHEIOS_TRACE_PRINTF(pantheios::notice, "a string '%s' and a number %d", "<abc>", 42); |
|||
|
|||
. . . |
|||
|
|||
You'll also need to "persuade" the trace macro you wish to use that it can |
|||
actually proceed. In the example.cpp.tracing.with_function example, the |
|||
PANTHEIOS_TRACE_PREFIX macro is defined as follows: |
|||
|
|||
// From examples/cpp/example.cpp.tracing.with_function/example.cpp.tracing.with_function.cpp |
|||
|
|||
#ifdef STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT |
|||
# define PANTHEIOS_TRACE_PREFIX __FILE__ " " PANTHEIOS_STRINGIZE(__LINE__) ": " __FUNCTION__ ": " |
|||
#endif /* STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT */ |
|||
|
|||
If you're using a compiler that does not support __FUNCTION__, and for |
|||
which STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT is not defined, you would remove |
|||
the #ifdef and #endif lines. |
|||
|
|||
If you wish to ensure that program remains compatible with compilers that |
|||
do support __FUNCTION__, then you would add a guard around the #define, as |
|||
in: |
|||
|
|||
int main() |
|||
{ |
|||
#ifndef STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT |
|||
# define __FUNCTION__ "main" |
|||
#endif /* !STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT */ |
|||
|
|||
. . . |
|||
|
|||
|
|||
Q15: "I have numerous back ends defined, and am trying to pass the |
|||
log message to a specific backend for a specific log level, like this: |
|||
|
|||
log_message( int logLevel, int log_BE, const char* message) |
|||
{ |
|||
pantheios::log(pantheios::critical(log_BE), "log this"); |
|||
} |
|||
|
|||
but change pantheios::critical() to be based on the logLevel, such as |
|||
PANTHEIOS_SEV_DEBUG or similar. How is this done?" [21st May 2009] |
|||
|
|||
A15: |
|||
Use PANTHEIOS_MAKE_EXTENDED_SEVERITY() to define severity+extended_info |
|||
on the fly, as in: |
|||
|
|||
// C example |
|||
pantheios_logprintf( |
|||
PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_NOTICE, 10), "hello"); |
|||
|
|||
and: |
|||
|
|||
// C++ example |
|||
pantheios::log( |
|||
PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_NOTICE, 10), "hello"); |
|||
|
|||
You can #define your own codebase-specific macro that's more |
|||
succinct, e.g: |
|||
|
|||
#define ACME_SEV_X(sev, x) PANTHEIOS_MAKE_EXTENDED_SEVERITY(sev, x) |
|||
|
|||
and use it as: |
|||
|
|||
log_message( int logLevel, int log_BE, const char* message) |
|||
{ |
|||
pantheios::log(ACME_SEV_X(logLevel, log_BE), "log this"); |
|||
} |
|||
|
|||
|
|||
Q16: "Currently the logging format is something like: |
|||
|
|||
[Project.5844, 5/20/2009 1:58:37.006 PM; Debug ]: logging message |
|||
|
|||
Is there any way to modify the format of this?" [21st May 2009] |
|||
|
|||
A16: |
|||
Yes, in a limited way, via the callback mechanism. Link to a callback |
|||
version of a particular back-end library and implement the back-end |
|||
callback initialisation function. |
|||
|
|||
This allows you to turn on/off various format prefix fields |
|||
|
|||
[process identity, thread identity, date, time, severity, etc.] |
|||
|
|||
For example, the non-callback version of the be.fprintf back-end is |
|||
defined in the bec.fprintf library (e.g. |
|||
pantheios.1.bec.fprintf.vc9.lib), whereas the callback version is defined |
|||
in the bec.fprintf.WithCallback library (e.g. |
|||
pantheios.1.bec.fprintf.WithCallback.vc6.lib). |
|||
|
|||
The callback initialisation function for be.fprintf is |
|||
pantheios_be_fprintf_getAppInit(). You implement this function and |
|||
customise the behaviour of be.fprintf via the flags member of |
|||
pan_be_fprintf_init_t. |
|||
|
|||
Note that the only reordering possible is to put the whole prefix, |
|||
en-bloc, to the end (as a suffix). For more sophisticated ordering, the |
|||
only option currently available is to write your own back-end, or engage |
|||
the services of Synesis Software (http://www.synesis.com.au/contact.html) |
|||
to assist you. |
|||
|
|||
|
|||
Q17: "I'm going through and converting a lot of printf statements to |
|||
pantheios::log statements and I'm unsure of how to best retain the pretty |
|||
formatting aspects. For types with explicit inserters (real, int, etc.) |
|||
it seems I can use the width and fmt parameters to log prettily, but its |
|||
unclear how to space strings. |
|||
|
|||
For example how should I translate: |
|||
|
|||
printf("Name: %40s", name.c_str()); |
|||
|
|||
" [24th June 2009] |
|||
|
|||
A17: |
|||
As of 1.0.1 beta 189, the padding inserter pantheios::pad() can be used |
|||
to provide a string of spaces of the necessary size to pad a variable of |
|||
arbitrary type, as in: |
|||
|
|||
#include <pantheios/inserters/pad.hpp> // for pantheios::pad |
|||
|
|||
|
|||
printf("Name: %40s.\n", name.c_str()); |
|||
|
|||
pantheios::log_NOTICE("Name: ", PANTHEIOS_LPAD(name, 40), "."); |
|||
|
|||
The inserter is used via the PANTHEIOS_LPAD(), which inserts pad spaces |
|||
to the left of the variable, and PANTHEIOS_RPAD(), which inserts pad |
|||
spaces to the right. |
|||
|
|||
|
|||
Q18: "I've written a custom front-end to work with be.N, but the backendId |
|||
is always 0 in pantheios_fe_isSeverityLogged(), and nothing gets logged!" |
|||
|
|||
A18: |
|||
pantheios_fe_isSeverityLogged() is always called first by the Application |
|||
Layer, to determine whether a log statement at the given severity level |
|||
will be logged; If not, nothing needs to be converted. In this invocation |
|||
the backendId parameter will be 0 (aka PANTHEIOS_BEID_ALL), meaning "does |
|||
anything need to be logged?" |
|||
|
|||
Multiplexing back-ends (e.g. be.N) also call pantheios_fe_isSeverityLogged() |
|||
to determine whether a specific back-end is interested in the given log |
|||
statement (based on its severity level). |
|||
|
|||
So, if you are writing a custom front-end, you must handle both cases: 0 |
|||
for "any back-ends?", and specific non-0 values (your specific back-end |
|||
identifiers) representing your specific back-ends. The scratch test |
|||
program test.scratch.be.N.with.custom.fe illustrates how this is to done. |
|||
Its definition of pantheios_fe_isSeverityLogged() is as follows: |
|||
|
|||
PANTHEIOS_CALL(int) pantheios_fe_isSeverityLogged(void*, int severity, int beid) |
|||
{ |
|||
switch(beid) |
|||
{ |
|||
// Must handle PANTHEIOS_BEID_ALL, as that's the Application Layer's |
|||
// (initial) enquiry as to whether anything should be logged at all |
|||
case PANTHEIOS_BEID_ALL: |
|||
#if 0 |
|||
// The inefficient way to do this is to just 'return true' |
|||
return true; |
|||
#else /* ? 0 */ |
|||
// The efficient (but complicated) way to do this is to see if |
|||
// *any* back-end wants output, in which case we say yes |
|||
return severity <= iCeilingMain || |
|||
severity <= iCeilingConsole || |
|||
severity <= iCeilingError; |
|||
#endif /* 0 */ |
|||
|
|||
// Now handle each specified back-end, which will come from be.N |
|||
// multiplexing the output(s) |
|||
|
|||
case WG_LOG_FILE_ID: |
|||
return severity <= iCeilingMain; |
|||
case WG_LOG_CONSOLE_ID: |
|||
return severity <= iCeilingConsole; |
|||
case WG_LOG_FILE_ERROR_ID: |
|||
return severity <= iCeilingError; |
|||
|
|||
// Don't know about anything else |
|||
default: |
|||
PANTHEIOS_CONTRACT_ENFORCE_UNEXPECTED_CONDITION_API("unexpected back-end identifier"); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
|
|||
Q19: "My project requires that I use Microsoft Visual C++'s /Zc:wchar_t- |
|||
option, which prevents wchar_t from being a built-in type, instead |
|||
being just a typedef to 'unsigned short'. When I try to link with |
|||
Pantheios I get link errors, such as: |
|||
|
|||
1>Zc.wchar_t.test.obj : error LNK2019: unresolved external symbol "public: __thiscall pantheios::args::args(int,unsigned short const * const *,int,unsigned short const *)" (??0args@pantheios@@QAE@HPBQBGHPBG@Z) referenced in function _wmain |
|||
1>Zc.wchar_t.test.obj : error LNK2019: unresolved external symbol "public: unsigned short const * __thiscall pantheios::args::data(void)const " (?data@args@pantheios@@QBEPBGXZ) referenced in function "unsigned short const * __cdecl pantheios::shims::c_str_data_w(class pantheios::args const &)" (?c_str_data_w@shims@pantheios@@YAPBGABVargs@2@@Z) |
|||
1>Zc.wchar_t.test.obj : error LNK2019: unresolved external symbol "public: unsigned short const * __thiscall pantheios::integer::data(void)const " (?data@integer@pantheios@@QBEPBGXZ) referenced in function "unsigned short const * __cdecl pantheios::shims::c_str_data_w(class pantheios::integer const &)" (?c_str_data_w@shims@pantheios@@YAPBGABVinteger@2@@Z) |
|||
|
|||
How can I get Pantheios to define wchar_t in the same way without |
|||
hacking the makefile? |
|||
" |
|||
|
|||
A19: |
|||
You have to link against a version of Pantheios compiled with the same |
|||
compiler flag. This can be achieved by setting the CUSTOM_DEFS make macro |
|||
as follows: |
|||
|
|||
> nmake CUSTOM_DEFS="-Zc:wchar_t-" build |
|||
|
|||
You will then be able to link to your program. |
|||
|
|||
NOTE: You will need to ensure that other code that relies on Pantheios and |
|||
that was not compiled with -Zc:wchar_t- will see another, uncustomised, |
|||
version, otherwise you'll have the same linking problem, but in reverse. |
|||
|
|||
=============================== End of file ================================ |
1637
resources/3rdparty/pantheios-1.0.1-beta214/HISTORY.txt
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,117 +0,0 @@ |
|||
Pantheios - How You Can Help |
|||
============================ |
|||
|
|||
Updated: 26th November 2010 |
|||
|
|||
|
|||
|
|||
There are several ways in which you can help the Pantheios project: |
|||
|
|||
1. Defect reports |
|||
2. Feature requests |
|||
3. Submit your own extensions: inserters, back-ends, front-ends |
|||
4. Sponsor development |
|||
5. Write articles, blog-posts about your experiences |
|||
6. Help flesh out the Wikipedia page for Pantheios |
|||
|
|||
|
|||
1. Defect reports |
|||
----------------- |
|||
|
|||
A diagnostic logging library exists to help locate and identify defects in |
|||
applications/components. An obvious consequence of this principle is that a |
|||
diagnostic logging library should not itself be the source of faults. |
|||
|
|||
Consequently, we're very keen to hear of any problems you have in building |
|||
and, especially, in using the library. |
|||
|
|||
If you're unsure whether your issue is a genuine defect in the library, we |
|||
ask that you post a description of your problem on the project Help Forum, |
|||
located at: |
|||
|
|||
http://sourceforge.net/projects/pantheios/forums/forum/475314 |
|||
|
|||
If you're sure that your issue is a genuine defect, please feel free to |
|||
submit an item in the project Bug Tracker, located at: |
|||
|
|||
http://sourceforge.net/tracker/?group_id=141831&atid=750757 |
|||
|
|||
In either case, please help us to help you by submitting as much information |
|||
about the problem as you think is relevant, including: |
|||
|
|||
* the compiler you're using |
|||
* the architecture and operating system you're targeting |
|||
* the version of Pantheios |
|||
* the version of STLSoft |
|||
* the version of other 3rd-party libraries, such as Boost, Loki, ... |
|||
* whether you're building using the makefiles or via an IDE |
|||
* a section of the build output, including the warnings/errors involved |
|||
|
|||
|
|||
2. Feature requests |
|||
------------------- |
|||
|
|||
Pantheios is a living library, and we are not so foolish as to think that |
|||
we've thought of all the ways in which C++ diagnostic logging can be |
|||
improved. |
|||
|
|||
If there are features that you think would enhance the library, please feel |
|||
free to share your ideas. |
|||
|
|||
If you're precisely sure what you need, please feel free to start a |
|||
conversation on the Open Discussion Forum, located at: |
|||
|
|||
http://sourceforge.net/projects/pantheios/forums/forum/475313 |
|||
|
|||
If you're clear of what you need, please feel free to submit an item in the |
|||
project Feature Request Tracker, located at: |
|||
|
|||
http://sourceforge.net/tracker/?group_id=141831&atid=750760 |
|||
|
|||
NOTE: Synesis Software provides commercial customisations of Pantheios, |
|||
including custom front-ends and back-ends, custom severity levels, and much |
|||
more. For such advanced uses, contact Synesis Software via their website |
|||
at http://www.synesis.com.au/contact.html |
|||
|
|||
|
|||
3. Submit your own extensions: inserters, back-ends, front-ends |
|||
--------------------------------------------------------------- |
|||
|
|||
If you have developed your own inserters, back-ends, front-ends, and wish to |
|||
contribute them back to the project so others can benefit from your work, |
|||
please get in contact at via the Open Discussion Forum, located at: |
|||
|
|||
http://sourceforge.net/projects/pantheios/forums/forum/475313 |
|||
|
|||
|
|||
4. Sponsor development |
|||
---------------------- |
|||
|
|||
If you value the diligence and effort that's gone into bringing you this |
|||
production-quality software, please make a donation to the project, via: |
|||
|
|||
http://sourceforge.net/project/project_donations.php?group_id=141831 |
|||
|
|||
|
|||
5. Write articles, blog-posts about your experiences |
|||
---------------------------------------------------- |
|||
|
|||
If you've written articles or blogged about Pantheios, let us know and we'll |
|||
list them on the website, at: |
|||
|
|||
http://www.pantheios.org/tutorials.html |
|||
|
|||
If you haven't, please consider doing so. |
|||
|
|||
|
|||
6. Help flesh out the Wikipedia page for Pantheios |
|||
-------------------------------------------------- |
|||
|
|||
Pantheios is a very popular logging library. Despite that, the powers that |
|||
be at Wikipedia have deemed that it is not notable. If you disagree with |
|||
that, please update the Pantheios Wikipedia page at: |
|||
|
|||
http://en.wikipedia.org/wiki/Pantheios |
|||
|
|||
|
|||
=============================== End of file ================================ |
@ -1,43 +0,0 @@ |
|||
pantheios - Install |
|||
==================== |
|||
|
|||
Updated: 7th August 2012 |
|||
|
|||
|
|||
The following steps are required to install Pantheios: |
|||
|
|||
1. Download the latest distribution of Pantheios, from |
|||
http://pantheios.org/ |
|||
|
|||
2. Unzip it to a directory of your choice, e.g c:\3pty\pantheios-1.0.1 |
|||
|
|||
3. Define an environment variable PANTHEIOS_ROOT, whose |
|||
value is the directory in which you unzipped |
|||
it, e.g. PANTHEIOS_ROOT=c:\3pty\pantheios-1.0.1 |
|||
|
|||
4. Download the latest distribution of STLSoft, from http://stlsoft.org/ |
|||
|
|||
5. Unzip it to a directory of your choice, e.g c:\3pty\stlsoft-1.9.115 |
|||
|
|||
6. Define an environment variable STLSOFT, whose value is the directory |
|||
in which you unzipped it, e.g. STLSOFT=c:\3pty\stlsoft-1.9.115 |
|||
|
|||
7. Open a command shell in the appropriate directory that matches your |
|||
compiler: |
|||
|
|||
* if you're compiling with Visual C++ 7.1 then cd to build/vc71 |
|||
* if you're compiling for UNIX with GCC 4.2, then cd |
|||
to build/gcc42.unix |
|||
* if you're compiling for Win-x64 with Visual C++ 9, then cd |
|||
to build/vc9.x64 |
|||
|
|||
8. Build using make: |
|||
|
|||
* to build the Pantheios core libraries: "make build.libs.core" |
|||
* to build all libraries, examples and test: "make build" |
|||
* to build and run unit/component tests: "make test" |
|||
|
|||
NOTE: Pantheios depends on the (header-only) STLSoft libraries - version |
|||
1.9.115 or later - available from http://www.stlsoft.org/. |
|||
|
|||
=============================== End of file ================================ |
@ -1,21 +0,0 @@ |
|||
pantheios - Known Issues |
|||
======================== |
|||
|
|||
Updated: 7th August 2012 |
|||
|
|||
|
|||
|
|||
Pantheios 1.0.1 Beta 214 Known Issues: |
|||
-------------------------------------- |
|||
|
|||
<none> |
|||
|
|||
|
|||
|
|||
Pantheios 1.0.1 Beta 214 Suspected Issues: |
|||
------------------------------------------ |
|||
|
|||
<none> |
|||
|
|||
|
|||
=============================== End of file ================================ |
@ -1,38 +0,0 @@ |
|||
pantheios - License |
|||
=================== |
|||
|
|||
Updated: 13th February 2009 |
|||
|
|||
|
|||
============================================================================ |
|||
|
|||
|
|||
Pantheios and STLSoft use the simplified BSD-form license, as follows: |
|||
|
|||
* Redistribution and use in source and binary forms, with or without |
|||
* modification, are permitted provided that the following conditions are |
|||
* met: |
|||
* |
|||
* - Redistributions of source code must retain the above copyright notice, |
|||
* this list of conditions and the following disclaimer. |
|||
* - Redistributions in binary form must reproduce the above copyright |
|||
* notice, this list of conditions and the following disclaimer in the |
|||
* documentation and/or other materials provided with the distribution. |
|||
* - Neither the name(s) of Matthew Wilson and Synesis Software nor the |
|||
* names of any contributors may be used to endorse or promote products |
|||
* derived from this software without specific prior written permission. |
|||
* |
|||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS |
|||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
|||
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
|||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
|||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
|||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
|||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
|||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
|||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
|||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|||
|
|||
=============================== End of file ================================ |
|||
|
@ -1,538 +0,0 @@ |
|||
pantheios - News |
|||
================ |
|||
|
|||
Updated: 7th August 2012 |
|||
|
|||
|
|||
|
|||
News: |
|||
|
|||
7th Aug 2012 - Pantheios 1.0.1 beta 214 released |
|||
|
|||
6th Dec 2011 - Pantheios 1.0.1 beta 213 released |
|||
|
|||
13th Aug 2011 - Pantheios 1.0.1 beta 212 released |
|||
|
|||
1st Feb 2011 - Pantheios 1.0.1 beta 211 released |
|||
|
|||
10th Jan 2011 - Pantheios 1.0.1 beta 210 released |
|||
|
|||
8th Jan 2011 - Pantheios::Extras::DiagUtil 0.1.1 alpha 1 released |
|||
|
|||
7th Jan 2011 - Pantheios::Extras::Main 0.1.1 alpha 1 released |
|||
|
|||
6th Jan 2011 - Pantheios 1.0.1 beta 209 released |
|||
|
|||
4th Jan 2011 - Pantheios 1.0.1 beta 208 released |
|||
|
|||
27th Dec 2010 - Pantheios 1.0.1 beta 207 released |
|||
|
|||
23rd Dec 2010 - Pantheios.COM 1.0.1 beta 31 released |
|||
|
|||
21st Dec 2010 - Pantheios 1.0.1 beta 206 released |
|||
|
|||
11th Dec 2010 - Pantheios 1.0.1 beta 205 released |
|||
|
|||
7th Dec 2010 - Pantheios 1.0.1 beta 204 released |
|||
|
|||
26th Nov 2010 - Pantheios 1.0.1 beta 203 released |
|||
|
|||
23rd Nov 2010 - Pantheios 1.0.1 beta 202 released |
|||
|
|||
19th Nov 2010 - Pantheios 1.0.1 beta 201 released |
|||
|
|||
15th Nov 2010 - Pantheios 1.0.1 beta 200 released |
|||
|
|||
10th Nov 2010 - Pantheios 1.0.1 beta 199 released |
|||
|
|||
8th Nov 2010 - Pantheios 1.0.1 beta 198 released |
|||
|
|||
18th Oct 2010 - Pantheios 1.0.1 beta 197 released |
|||
|
|||
4th Apr 2010 - Pantheios 1.0.1 beta 196 released |
|||
|
|||
5th Mar 2010 - Pantheios 1.0.1 beta 195 released |
|||
|
|||
15th Feb 2010 - Pantheios 1.0.1 beta 194 released |
|||
|
|||
24th Jul 2009 - Pantheios 1.0.1 beta 193 released |
|||
|
|||
8th Jul 2009 - Pantheios 1.0.1 beta 192 released |
|||
|
|||
4th Jul 2009 - Pantheios 1.0.1 beta 191 released |
|||
|
|||
3rd Jul 2009 - Pantheios 1.0.1 beta 190 released |
|||
|
|||
29th Jun 2009 - Pantheios 1.0.1 beta 189 released |
|||
|
|||
21st May 2009 - Pantheios 1.0.1 beta 188 released |
|||
|
|||
15th May 2009 - Pantheios 1.0.1 beta 187 released |
|||
|
|||
8th May 2009 - Pantheios 1.0.1 beta 186 released |
|||
|
|||
17th Apr 2009 - Pantheios 1.0.1 beta 185 released |
|||
|
|||
16th Apr 2009 - Pantheios 1.0.1 beta 184 released |
|||
|
|||
16th Feb 2009 - Pantheios 1.0.1 beta 183 released |
|||
|
|||
15th Feb 2009 - Pantheios 1.0.1 beta 182 released |
|||
|
|||
13th Feb 2009 - Pantheios 1.0.1 beta 181 released |
|||
|
|||
3rd Feb 2009 - Pantheios 1.0.1 beta 180 released |
|||
|
|||
1st Feb 2009 - Pantheios 1.0.1 beta 179 released |
|||
|
|||
16th Jan 2009 - Pantheios 1.0.1 beta 178 released |
|||
|
|||
1st Jan 2009 - Pantheios 1.0.1 beta 177 released |
|||
|
|||
30th Dec 2008 - Pantheios 1.0.1 beta 176 released |
|||
|
|||
19th Dec 2008 - Pantheios 1.0.1 beta 175 released |
|||
|
|||
3rd Dec 2008 - Pantheios 1.0.1 beta 174 released |
|||
|
|||
18th Nov 2008 - Pantheios 1.0.1 beta 173 released |
|||
|
|||
13th Nov 2008 - Pantheios 1.0.1 beta 172 released |
|||
|
|||
11th Nov 2008 - Pantheios 1.0.1 beta 171 released |
|||
|
|||
10th Nov 2008 - Pantheios 1.0.1 beta 170 released |
|||
|
|||
3rd Nov 2008 - Pantheios 1.0.1 beta 169 released |
|||
|
|||
18th Oct 2008 - Pantheios 1.0.1 beta 168 released |
|||
|
|||
16th Oct 2008 - Pantheios 1.0.1 beta 167 released |
|||
|
|||
15th Oct 2008 - Pantheios 1.0.1 beta 166 released |
|||
|
|||
14th Oct 2008 - Pantheios 1.0.1 beta 165 released |
|||
|
|||
12th Oct 2008 - Pantheios 1.0.1 beta 164 released |
|||
|
|||
11th Oct 2008 - Pantheios 1.0.1 beta 163 released |
|||
|
|||
8th Oct 2008 - Pantheios.COM 1.0.1 beta 27 released |
|||
|
|||
7th Oct 2008 - Pantheios 1.0.1 beta 162 released |
|||
|
|||
27th Sep 2008 - Pantheios 1.0.1 beta 161 released |
|||
|
|||
25th Aug 2008 - Pantheios.COM 1.0.1 beta 26 released |
|||
|
|||
24th Sep 2008 - Pantheios 1.0.1 beta 160 released |
|||
|
|||
22nd Sep 2008 - Pantheios 1.0.1 beta 159 released |
|||
|
|||
19th Sep 2008 - Pantheios 1.0.1 beta 158 released |
|||
|
|||
18th Sep 2008 - Pantheios 1.0.1 beta 157 released |
|||
|
|||
12th Sep 2008 - Pantheios 1.0.1 beta 156 released |
|||
|
|||
11th Sep 2008 - Pantheios 1.0.1 beta 155 released |
|||
|
|||
3rd Sep 2008 - FastFormat 0.2.1 alpha 1 released |
|||
|
|||
2nd Sep 2008 - Pantheios 1.0.1 beta 154 released |
|||
|
|||
1st Sep 2008 - Pantheios 1.0.1 beta 153 released |
|||
|
|||
28th Aug 2008 - Pantheios 1.0.1 beta 152 released |
|||
|
|||
27th Aug 2008 - Pantheios.COM 1.0.1 beta 25 released |
|||
|
|||
26th Aug 2008 - Pantheios Library Selector Tool (for Win32) 1.9.4.50 released |
|||
|
|||
25th Aug 2008 - Pantheios 1.0.1 beta 151 released |
|||
|
|||
24th Aug 2008 - Pantheios 1.0.1 beta 150 released |
|||
|
|||
12th Aug 2008 - Pantheios 1.0.1 beta 149 released |
|||
|
|||
11th Aug 2008 - Pantheios 1.0.1 beta 148 released |
|||
|
|||
7th Aug 2008 - Pantheios 1.0.1 beta 147 released |
|||
|
|||
7th Aug 2008 - Pantheios 1.0.1 beta 146 released |
|||
|
|||
1st Aug 2008 - Pantheios 1.0.1 beta 145 released |
|||
|
|||
30th Jul 2008 - Pantheios 1.0.1 beta 144 released |
|||
|
|||
29th Jul 2008 - Pantheios 1.0.1 beta 143 released |
|||
|
|||
25th Jul 2008 - Pantheios 1.0.1 beta 142 released |
|||
|
|||
24th Jul 2008 - Pantheios 1.0.1 beta 141 released |
|||
|
|||
19th Jun 2008 - Pantheios 1.0.1 beta 140 released |
|||
|
|||
18th Jun 2008 - Pantheios 1.0.1 beta 139 released |
|||
|
|||
16th Jun 2008 - Pantheios 1.0.1 beta 138 released |
|||
|
|||
2nd Jun 2008 - Pantheios 1.0.1 beta 137 released |
|||
|
|||
24th May 2008 - Pantheios.COM 1.0.1 beta 24 released |
|||
|
|||
22nd May 2008 - Pantheios Library Selector Tool (for Win32) 1.9.2.48 released |
|||
|
|||
21st May 2008 - Pantheios Library Selector Tool (for Win32) 1.9.1.47 released |
|||
|
|||
21st May 2008 - Pantheios 1.0.1 beta 136 released |
|||
|
|||
18th May 2008 - Pantheios Library Selector Tool (for Win32) 1.8.1.45 released |
|||
|
|||
17th May 2008 - Pantheios 1.0.1 beta 135 released |
|||
|
|||
17th May 2008 - Pantheios Library Selector Tool (for Win32) 1.7.1.44 released |
|||
|
|||
16th May 2008 - Pantheios 1.0.1 beta 134 released |
|||
|
|||
14th May 2008 - Pantheios 1.0.1 beta 133 released |
|||
|
|||
13th May 2008 - Pantheios 1.0.1 beta 132 released |
|||
|
|||
11th May 2008 - Pantheios 1.0.1 beta 131 released |
|||
|
|||
4th May 2008 - Pantheios 1.0.1 beta 130 released |
|||
|
|||
3rd May 2008 - Pantheios 1.0.1 beta 129 released |
|||
|
|||
1st May 2008 - Pantheios 1.0.1 beta 128 released |
|||
|
|||
29th Apr 2008 - Pantheios 1.0.1 beta 127 released |
|||
|
|||
22nd Apr 2008 - Pantheios 1.0.1 beta 126 released |
|||
|
|||
20th Apr 2008 - Pantheios 1.0.1 beta 125 released |
|||
|
|||
20th Apr 2008 - Pantheios 1.0.1 beta 124 released |
|||
|
|||
19th Apr 2008 - Pantheios 1.0.1 beta 123 released |
|||
|
|||
16th Apr 2008 - Pantheios 1.0.1 beta 122 released |
|||
|
|||
15th Apr 2008 - Pantheios 1.0.1 beta 121 released |
|||
|
|||
13th Apr 2008 - Pantheios.COM 1.0.1 beta 23 released |
|||
|
|||
10th Apr 2008 - Pantheios 1.0.1 beta 120 released |
|||
|
|||
8th Apr 2008 - Pantheios 1.0.1 beta 119 released |
|||
|
|||
6th Apr 2008 - Pantheios 1.0.1 beta 118 released |
|||
|
|||
5th Apr 2008 - Pantheios 1.0.1 beta 117 released |
|||
|
|||
4th Apr 2008 - Pantheios 1.0.1 beta 116 released |
|||
|
|||
3rd Apr 2008 - Pantheios 1.0.1 beta 115 released |
|||
|
|||
2nd Apr 2008 - Pantheios 1.0.1 beta 114 released |
|||
|
|||
28th Mar 2008 - Pantheios 1.0.1 beta 113 released |
|||
|
|||
20th Mar 2008 - Pantheios 1.0.1 beta 112 released |
|||
|
|||
19th Mar 2008 - Pantheios 1.0.1 beta 111 released |
|||
|
|||
18th Mar 2008 - Pantheios 1.0.1 beta 110 released |
|||
|
|||
17th Mar 2008 - Pantheios 1.0.1 beta 109 released |
|||
|
|||
16th Mar 2008 - Pantheios 1.0.1 beta 108 released |
|||
|
|||
15th Mar 2008 - Pantheios Library Selector Tool (for Win32) 1.6.1.42 released |
|||
|
|||
15th Mar 2008 - Pantheios 1.0.1 beta 107 released |
|||
|
|||
13th Mar 2008 - Pantheios 1.0.1 beta 106 released |
|||
|
|||
9th Mar 2008 - Pantheios 1.0.1 beta 105 released |
|||
|
|||
8th Mar 2008 - Pantheios 1.0.1 beta 104 released |
|||
|
|||
1st Mar 2008 - Pantheios 1.0.1 beta 103 released |
|||
|
|||
25th Feb 2008 - Pantheios 1.0.1 beta 102 released |
|||
|
|||
23rd Feb 2008 - Pantheios 1.0.1 beta 101 released |
|||
|
|||
20th Feb 2008 - Pantheios 1.0.1 beta 100 released |
|||
|
|||
12th Feb 2008 - Pantheios 1.0.1 beta 99 released |
|||
|
|||
9th Feb 2008 - Pantheios 1.0.1 beta 98 released |
|||
|
|||
8th Feb 2008 - Pantheios 1.0.1 beta 97 released |
|||
|
|||
5th Feb 2008 - Pantheios 1.0.1 beta 96 released |
|||
|
|||
5th Feb 2008 - Pantheios 1.0.1 beta 95 released |
|||
|
|||
3rd Jan 2008 - Pantheios.COM 1.0.1 beta 22 released |
|||
|
|||
3rd Feb 2008 - Pantheios 1.0.1 beta 94 released |
|||
|
|||
2nd Feb 2008 - Pantheios 1.0.1 beta 93 released |
|||
|
|||
28th Jan 2008 - Pantheios 1.0.1 beta 92 released |
|||
|
|||
27th Jan 2008 - Pantheios 1.0.1 beta 91 released |
|||
|
|||
27th Jan 2008 - Pantheios 1.0.1 beta 90 released |
|||
|
|||
26th Jan 2008 - Pantheios 1.0.1 beta 89 released |
|||
|
|||
20th Jan 2008 - Pantheios 1.0.1 beta 88 released |
|||
|
|||
20th Jan 2008 - Pantheios 1.0.1 beta 87 released |
|||
|
|||
19th Jan 2008 - Pantheios 1.0.1 beta 86 released |
|||
|
|||
15th Jan 2008 - Pantheios 1.0.1 beta 85 released |
|||
|
|||
14th Jan 2008 - Pantheios 1.0.1 beta 84 released |
|||
|
|||
13th Jan 2008 - Pantheios 1.0.1 beta 83 released |
|||
|
|||
12th Jan 2008 - Pantheios 1.0.1 beta 82 released |
|||
|
|||
11th Jan 2008 - Pantheios 1.0.1 beta 81 released |
|||
|
|||
8th Jan 2008 - Pantheios 1.0.1 beta 80 released |
|||
|
|||
6th Jan 2008 - Pantheios 1.0.1 beta 79 released |
|||
|
|||
6th Jan 2008 - Pantheios 1.0.1 beta 78 released |
|||
|
|||
5th Jan 2008 - Pantheios 1.0.1 beta 77 released |
|||
|
|||
4th Jan 2008 - Pantheios 1.0.1 beta 76 released |
|||
|
|||
3rd Jan 2008 - Pantheios 1.0.1 beta 75 released |
|||
|
|||
3rd Jan 2008 - Pantheios.COM 1.0.1 beta 21 released |
|||
|
|||
2nd Jan 2008 - Pantheios Library Selector Tool (for Win32) 1.5.2.40 released |
|||
|
|||
30th Dec 2007 - Pantheios 1.0.1 beta 74 released |
|||
|
|||
29th Dec 2007 - Pantheios 1.0.1 beta 73 released |
|||
|
|||
28th Dec 2007 - Pantheios.COM 1.0.1 beta 20 released |
|||
|
|||
28th Dec 2007 - Pantheios 1.0.1 beta 72 released |
|||
|
|||
27th Dec 2007 - Pantheios 1.0.1 beta 71 released |
|||
|
|||
22nd Dec 2007 - Pantheios.COM 1.0.1 beta 19 released |
|||
|
|||
11th Dec 2007 - Pantheios 1.0.1 beta 70 released |
|||
|
|||
10th Dec 2007 - Pantheios 1.0.1 beta 69 released |
|||
|
|||
8th Dec 2007 - Pantheios 1.0.1 beta 68 released |
|||
|
|||
5th Dec 2007 - Pantheios 1.0.1 beta 67 released |
|||
|
|||
4th Dec 2007 - Pantheios 1.0.1 beta 66 released |
|||
|
|||
3rd Dec 2007 - Pantheios 1.0.1 beta 65 released |
|||
|
|||
2nd Dev 2007 - Pantheios 1.0.1 beta 64 released |
|||
|
|||
30th Nov 2007 - Pantheios.COM 1.0.1 beta 18 released |
|||
|
|||
29th Nov 2007 - Pantheios 1.0.1 beta 63 released |
|||
|
|||
27th Nov 2007 - Pantheios 1.0.1 beta 62 released |
|||
|
|||
26th Nov 2007 - Pantheios 1.0.1 beta 61 released |
|||
|
|||
25th Nov 2007 - Pantheios 1.0.1 beta 60 released |
|||
|
|||
24th Nov 2007 - Pantheios 1.0.1 beta 59 released |
|||
|
|||
23rd Nov 2007 - Pantheios 1.0.1 beta 58 released |
|||
|
|||
22nd Nov 2007 - Pantheios 1.0.1 beta 57 released |
|||
|
|||
21st Nov 2007 - Pantheios 1.0.1 beta 56 released |
|||
|
|||
20th Nov 2007 - Pantheios.COM 1.0.1 beta 17 released |
|||
|
|||
20th Nov 2007 - Pantheios 1.0.1 beta 55 released |
|||
|
|||
19th Nov 2007 - Pantheios 1.0.1 beta 54 released |
|||
|
|||
18th Nov 2007 - Pantheios.COM 1.0.1 beta 16 released |
|||
|
|||
18th Nov 2007 - Pantheios 1.0.1 beta 53 released |
|||
|
|||
17th Nov 2007 - Pantheios 1.0.1 beta 52 released |
|||
|
|||
16th Nov 2007 - Pantheios 1.0.1 beta 51 released |
|||
|
|||
15th Nov 2007 - Pantheios 1.0.1 beta 50 released |
|||
|
|||
14th Nov 2007 - Pantheios 1.0.1 beta 49 released |
|||
|
|||
13th Nov 2007 - Pantheios 1.0.1 beta 48 released |
|||
|
|||
12th Nov 2007 - Pantheios 1.0.1 beta 47 released |
|||
|
|||
11th Nov 2007 - Pantheios 1.0.1 beta 46 released |
|||
|
|||
10th Nov 2007 - Pantheios 1.0.1 beta 45 released |
|||
|
|||
3rd Nov 2007 - Pantheios 1.0.1 beta 44 released |
|||
|
|||
3rd Nov 2007 - Pantheios 1.0.1 beta 43 released |
|||
|
|||
29th Oct 2007 - Pantheios 1.0.1 beta 42 released |
|||
|
|||
28th Oct 2007 - Pantheios 1.0.1 beta 41 released |
|||
|
|||
28th Oct 2007 - Pantheios.COM 1.0.1 beta 15 released |
|||
|
|||
26th Oct 2007 - Pantheios 1.0.1 beta 40 released |
|||
|
|||
25th Oct 2007 - Pantheios 1.0.1 beta 39 released |
|||
|
|||
23rd Oct 2007 - Pantheios 1.0.1 beta 38 released |
|||
|
|||
22nd Oct 2007 - Pantheios.COM 1.0.1 beta 14 released |
|||
|
|||
21st Oct 2007 - Pantheios 1.0.1 beta 37 released |
|||
|
|||
20th Oct 2007 - Pantheios 1.0.1 beta 36 released |
|||
|
|||
19th Oct 2007 - Pantheios 1.0.1 beta 35 released |
|||
|
|||
18th Oct 2007 - Pantheios 1.0.1 beta 34 released |
|||
|
|||
11th Oct 2006 - Pantheios.COM 1.0.1 beta 13 released |
|||
|
|||
7th Oct 2007 - Pantheios 1.0.1 beta 33 released |
|||
|
|||
28th Sep 2006 - Pantheios.COM 1.0.1 beta 12 released |
|||
|
|||
25th Sep 2006 - Pantheios.COM 1.0.1 beta 11 released |
|||
|
|||
23rd Sep 2006 - Pantheios.COM 1.0.1 beta 10 released |
|||
|
|||
3rd Sep 2007 - Pantheios 1.0.1 beta 32 released |
|||
|
|||
18th Aug 2007 - Pantheios 1.0.1 beta 31 released |
|||
|
|||
16th Aug 2007 - Pantheios 1.0.1 beta 30 released |
|||
|
|||
5th Aug 2007 - Pantheios 1.0.1 beta 29 released |
|||
|
|||
2nd Aug 2007 - Pantheios 1.0.1 beta 28 released |
|||
|
|||
29th Jul 2007 - Pantheios 1.0.1 beta 27 released |
|||
|
|||
30th Apr 2007 - Pantheios 1.0.1 beta 26 released |
|||
|
|||
12th Apr 2007 - Pantheios Library Selector Tool (for Win32) 1.5.1.39 released |
|||
|
|||
11th Apr 2007 - Pantheios 1.0.1 beta 25 released |
|||
|
|||
6th Apr 2007 - Pantheios 1.0.1 beta 24 released |
|||
|
|||
11th Mar 2007 - Pantheios Library Selector Tool (for Win32) 1.4.2.37 released |
|||
|
|||
27th Jan 2007 - Pantheios 1.0.1 beta 23 released |
|||
|
|||
15th Jan 2007 - Pantheios 1.0.1 beta 22 released |
|||
|
|||
10th Jan 2007 - Pantheios Library Selector Tool (for Win32) 1.4.2.36 released |
|||
|
|||
9th Jan 2007 - Pantheios 1.0.1 beta 21 released |
|||
|
|||
5th Jan 2007 - Pantheios 1.0.1 beta 20 released |
|||
|
|||
4th Jan 2007 - Pantheios Library Selector Tool (for Win32) 1.4.1.35 released |
|||
|
|||
2nd Jan 2007 - Pantheios 1.0.1 beta 19 released |
|||
|
|||
29th Dec 2006 - Product-specific DLL project released |
|||
|
|||
23rd Dec 2006 - Pantheios.COM 1.0.1 beta 8 released |
|||
|
|||
23rd Dec 2006 - Pantheios.COM 1.0.1 beta 7 released |
|||
|
|||
23rd Dec 2006 - Pantheios 1.0.1 beta 18 released |
|||
|
|||
20th Dec 2006 - Pantheios 1.0.1 beta 17 released |
|||
|
|||
18th Dec 2006 - Pantheios 1.0.1 beta 16 released |
|||
|
|||
16th Dec 2006 - Pantheios 1.0.1 beta 15 released |
|||
|
|||
13th Dec 2006 - Pantheios.COM 1.0.1 beta 6 released |
|||
|
|||
12th Dec 2006 - Pantheios 1.0.1 beta 14 released |
|||
|
|||
10th Dec 2006 - Pantheios.COM 1.0.1 beta 5 released |
|||
|
|||
7th Dec 2006 - Pantheios 1.0.1 beta 13 released |
|||
|
|||
5th Dec 2006 - Pantheios 1.0.1 beta 12 released |
|||
|
|||
4th Dec 2006 - Pantheios.COM 1.0.1 beta 4 released |
|||
|
|||
3rd Dec 2006 - Pantheios Library Selector Tool (for Win32) 1.3.1.33 released |
|||
|
|||
3rd Dec 2006 - Pantheios 1.0.1 beta 11 released |
|||
|
|||
1st Dec 2006 - Pantheios 1.0.1 beta 10 released |
|||
|
|||
29th Nov 2006 - Pantheios 1.0.1 beta 9 released |
|||
|
|||
27th Nov 2006 - Pantheios 1.0.1 beta 8 released |
|||
|
|||
29th Oct 2006 - Pantheios 1.0.1 beta 7 released |
|||
|
|||
21st Oct 2006 - Pantheios 1.0.1 beta 6 released |
|||
|
|||
8th Oct 2006 - Pantheios 1.0.1 beta 5 released |
|||
|
|||
5th Dec 2006 - Pantheios.COM 1.0.1 beta 3 released |
|||
|
|||
4th Oct 2006 - Pantheios 1.0.1 beta 4 released |
|||
|
|||
26th Sep 2006 - Pre-beta 4 patch. |
|||
|
|||
3rd Sep 2006 - Pantheios Library Selector Tool (for Win32) 1.2.2.29 released |
|||
|
|||
24th Sep 2006 - Pantheios 1.0.1 beta 3 released |
|||
|
|||
17th Sep 2006 - A comparative performance study released, |
|||
showing that Pantheios is 10-100 times |
|||
faster than its competitors when logging |
|||
is switched off. |
|||
Details: http://pantheios.org/performance.html |
|||
|
|||
11th Sep 2006 - Synesis release Win32 logging tool w32dblog, |
|||
a command-line tool that monitors the windows |
|||
debugger and forwards to console/file/syslog. |
|||
|
|||
3rd Sep 2006 - Pantheios Library Selector Tool (for Win32) 1.2.1.27 released |
|||
|
|||
3rd Sep 2006 - Pantheios.COM 1.0.1 beta 2 released |
|||
|
|||
2nd Sep 2006 - Pantheios 1.0.1 beta 2 released |
|||
|
|||
9th Aug 2006 - Pantheios.COM 1.0.1 beta 1 released |
|||
|
|||
=============================== End of file ================================ |
@ -1,219 +0,0 @@ |
|||
pantheios - README |
|||
================== |
|||
|
|||
Updated: 7th August 2012 |
|||
|
|||
|
|||
|
|||
See the introduction in the accompanying doc/html/1.0.1-beta214/index.html |
|||
file. |
|||
|
|||
Please feel free to request, nay demand, improvements in any areas |
|||
that you feel are deficient. We believe that Pantheios is the best |
|||
diagnostic logging API ever created, but we are not so deluded as to think |
|||
that our presentational skills are as good. Criticism will be gratefully |
|||
received. |
|||
|
|||
If you are interested in commercial services and/or training for |
|||
Pantheios, contact Synesis Software, via http://synesis.com.au/contact.html |
|||
|
|||
Information about Pantheios training is available at |
|||
http://synesis.com.au/training.html |
|||
|
|||
|
|||
10 important things to know about Pantheios: |
|||
-------------------------------------------- |
|||
|
|||
1. It's a diagnostic logging **API** library, not a diagnostic logging |
|||
library |
|||
|
|||
2. It's open-source, and 100% free |
|||
|
|||
3. It depends on several other libraries, but they're also open source and |
|||
100% free |
|||
|
|||
4. It's incredibly efficient, and is faster than all other serious C++ |
|||
diagnostic logging libraries by a huge margin (up to two orders of |
|||
magnitude) |
|||
|
|||
5. It is 100% type-safe |
|||
|
|||
6. Selection of logging transport (i.e. "back-end(s)") is done at link-time, |
|||
for very good reason |
|||
|
|||
7. It's highly extensible |
|||
|
|||
8. It's being used by serious commercial enterprises, including very high |
|||
throughput financial systems |
|||
|
|||
9. It's highly portable - including most C++ compilers and most/all flavours |
|||
of UNIX, Linux, Mac OS-X and Windows |
|||
|
|||
10. Pantheios is under active development from a highly motivated team, who |
|||
have the ambition that it will become the diagnostic logging API of |
|||
choice for all C++ programmers who wish to have performance without |
|||
sacrificing robustness or flexibility; the team want to hear from you how |
|||
they can better achieve these aims |
|||
|
|||
|
|||
Details: |
|||
- - - - |
|||
|
|||
1. It's a diagnostic logging **API** library, not a diagnostic logging |
|||
library |
|||
|
|||
The Pantheios architecture is split into four parts: |
|||
- Application Layer - you use this to create diagnostic logging |
|||
statements in your application code |
|||
- Core - this is what ties it all together. Apart from initialising the |
|||
core (which happens automatically in C++ compilation units), you |
|||
don't need to do anything with the core |
|||
- Front-end - this is what decides which statements are written out, as |
|||
well as providing the application identity (name) to the Core during |
|||
initialisation. There are several stock Front-ends included in the |
|||
Pantheios distribution, but you may well implement your own |
|||
- Back-end - this is what emits the logging statement (if the front-end |
|||
allows it to be written) to the outside world. There are a number of |
|||
stock Back-ends included in the Pantheios distribution, but you may |
|||
well implement your own |
|||
|
|||
One criticism that we sometimes get from new users goes along the lines |
|||
of |
|||
|
|||
" the performance is brilliant, but you don't have all the features of |
|||
log4cxx " |
|||
|
|||
We know. It's designed to be that way. |
|||
|
|||
Pantheios is a diagnostic logging API library. The interaction between |
|||
Application Layer, Core and Front-end means that nothing else can come |
|||
anywhere near Pantheios in terms of performance, type-safety or |
|||
extensibility. But it's specifically designed for you to use it _above_ |
|||
existing logging libraries that have more features. To do so, you can |
|||
write a simple back-end to wrap, say, log4cxx, and plug it in at |
|||
link-time. That way you get all the performance and safety of Pantheios, |
|||
with the rich feature set of log4cxx. It's win-win! |
|||
|
|||
|
|||
2. It's open-source, and 100% free |
|||
|
|||
It uses the widely appreciated (modified-)BSD license. |
|||
|
|||
|
|||
3. It depends on several other libraries, but they're also open source and |
|||
100% free |
|||
|
|||
Apart from one library - STLSoft - all the libraries on which Pantheios |
|||
depends are bundled with the Pantheios distribution. These libraries are: |
|||
|
|||
- xTests (see http://xtests.org/) |
|||
|
|||
A simple, lightweight unit-/component-testing libary for C |
|||
and C++ |
|||
|
|||
This library is used only in the unit-/component-testing |
|||
|
|||
- b64 (see http://synesis.com.au/software/b64.html) |
|||
|
|||
A simple, exceedingly lightweight implementation of the Base-64 |
|||
encoding |
|||
|
|||
This library is used by the pantheios::b64 inserter class |
|||
|
|||
- shwild (see http://shwild.org/) |
|||
|
|||
An implementation (UNIX) shell compatible wildcards. |
|||
|
|||
This library is used only in the unit-/component-testing |
|||
|
|||
The other library on which Pantheios depends is STLSoft (see |
|||
http://stlsoft.org). STLSoft is *not* an STL replacement, it is an STL |
|||
extension library. Additionally, it provides a number of system and |
|||
compiler discrimination features that Pantheios uses to simplify its |
|||
implementation |
|||
|
|||
|
|||
4. It's incredibly efficient, and is faster than all other serious C++ |
|||
diagnostic logging libraries by a huge margin (up to two orders of |
|||
magnitude) |
|||
|
|||
See http://pantheios.sourceforge.net/performance.html#sweet-spot if you |
|||
don't believe us |
|||
|
|||
|
|||
5. It is 100% type-safe |
|||
|
|||
... unlike any diagnostic logging library built on C's Streams or C++'s |
|||
IOStreams libraries. |
|||
|
|||
|
|||
6. Selection of logging transport (i.e. "back-end(s)") is done at link-time, |
|||
for very good reason |
|||
|
|||
The reason is simple: a diagnostic logging library must be available |
|||
whenever _any_ part of the application code needs it. In C++, it's |
|||
possible to execute a significant amount of functionality during dynamic |
|||
initialisation, so we cannot afford to wait for main() to set up the |
|||
logging. |
|||
|
|||
The consequence of this is Pantheios' only hard-to-use aspect, that of |
|||
setting up the linking. There are several tutorials available for this |
|||
purpose in the documentation |
|||
|
|||
|
|||
7. It's highly extensible |
|||
|
|||
Pantheios ships with a number of stock transports (known as |
|||
"back-end(s)"), including console, Syslog, COM Error Object, speech, |
|||
Windows Debugger, Windows Event Log. You can extend the range with a |
|||
custom back-end by implementing a very simple C-API. The details are in |
|||
the documentation. |
|||
|
|||
By default, the Pantheios Application Layer understands a large range of |
|||
string types (and types that can be meaningfully converted into strings, |
|||
such as struct tm, FILETIME, struct in_addr, and so on). Pantheios allows |
|||
you to infinitely extend the range of types that may be incorporated into |
|||
logging statements in your application code. There is an extensive |
|||
tutorial on this in the documentation. |
|||
|
|||
|
|||
8. It's being used by serious commercial enterprises, including very high |
|||
throughput financial systems |
|||
|
|||
Pantheios is in use by companies in Australia, US, and throughout the |
|||
world. |
|||
|
|||
One notable user in New York contacted Synesis Software |
|||
(see http://synesis.com.au/) in Dec 2007 to design and implement custom |
|||
front-/back-ends to enhance the performance to an insane degree - not one |
|||
processor cycle is wasted - because they believe that their systems will |
|||
need to produce more diagnostic logging output than any other softare |
|||
system in history. |
|||
|
|||
An NDA prevents us from naming the client, their business, or the nature |
|||
of the customisations, but we can say that they're delighted with the |
|||
system's performance and reliability. They said that Pantheios operates |
|||
with "clock-cycle speed"! |
|||
|
|||
|
|||
9. It's highly portable - including most C++ compilers and most/all flavours |
|||
of UNIX, Linux, Mac OS-X and Windows |
|||
|
|||
Pantheios has been tested on a wide range of C++ compilers, and a |
|||
reasonable range of operating systems. In UNIX flavours, there are no |
|||
platform-specific constructs used. Any new compiler/platform will |
|||
require a minimum of enhancement to the STLSoft configuration. The |
|||
development team are always happy to help/advise any such user. |
|||
|
|||
|
|||
10. Pantheios is under active development from a highly motivated team, who |
|||
have the ambition that it will become the diagnostic logging API of |
|||
choice for all C++ programmers who wish to have performance without |
|||
sacrificing robustness or flexibility; the team want to hear from you how |
|||
they can better achieve these aims |
|||
|
|||
That pretty much says it all. We know it's the best concept based on the |
|||
best theory, and we're keen to help make it work well for all users |
|||
everywhere. |
|||
|
|||
=============================== End of file ================================ |
@ -1,246 +0,0 @@ |
|||
pantheios - TODO lists |
|||
====================== |
|||
|
|||
Updated: 7th August 2012 |
|||
|
|||
|
|||
Summaries: |
|||
========== |
|||
|
|||
|
|||
Pantheios 1.0 TODOs: |
|||
-------------------- |
|||
|
|||
+ new logo |
|||
+ new website |
|||
+ integrated blog |
|||
~ rewrite Core in pure C (or NoX for VC++ 7.1+ and GCC) |
|||
~ rewrite Back-ends in pure C (or NoX for VC++ 7.1+ and GCC) |
|||
~ rewrite Front-ends in pure C (or NoX for VC++ 7.1+ and GCC) |
|||
+ auto-generate project files for VS'98, 2008, 2010 |
|||
+ auto-generate implicit-link files |
|||
+ auto-generate be l/r source files |
|||
+ auto-generate be l/r header files |
|||
+ rolling file |
|||
+ be.N static filtering |
|||
~ reimplement integral conversion in terms of new STLSoft 1.10 components |
|||
+ showPlus format flag support |
|||
* release by Q4 2012!!! |
|||
|
|||
|
|||
|
|||
Pantheios 1.1 TODOs: |
|||
-------------------- |
|||
+ auto-generate project files for Xcode |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
** fix the TODO file first!! ** |
|||
|
|||
|
|||
+ Comeau 4.3.10 support |
|||
|
|||
+ README.TXT |
|||
~ complete, sensible distribution files |
|||
+ new website |
|||
+ separate UNIX and Windows distros, with the appropriate |
|||
newline sequence for each |
|||
~ sort out \file fields |
|||
+ full complement of Visual Studio 2003 project/solution files |
|||
+ full complement of Visual Studio 2005 project/solution files |
|||
+ full complement of Visual Studio 2008 project/solution files |
|||
+ full complement of Visual Studio 2010 project/solution files |
|||
~ full complement of Visual Studio '98 project/solution files |
|||
~ review all the download/build/install documentation |
|||
+ auto-check all implicit_link files |
|||
|
|||
|
|||
Pantheios 1.1 TODOs: |
|||
-------------------- |
|||
|
|||
+ makefiles for SunStudio (on Solaris and Linux) |
|||
+ full complement of Turbo C++ project/solution files |
|||
(possibly, + full complement of XCode project/solution files) |
|||
+ be.file buffering |
|||
+ be.file rolling |
|||
+ control console for fe.WindowsRegistry |
|||
+ component test be.WindowsSyslog |
|||
|
|||
Pantheios 1.2 TODOs: |
|||
-------------------- |
|||
|
|||
~ Custom event log for bailout |
|||
~ Custom event log for be.WindowsEventLog |
|||
+ be.loader fixed/internal (Windows, Mac & UNIX) |
|||
+ be.loader dynamic/external (Windows, Mac & UNIX) |
|||
|
|||
Pantheios 1.3 TODOs: |
|||
-------------------- |
|||
|
|||
+ implicit support for integer |
|||
+ implicit support for floating-point types (possibly) |
|||
|
|||
|
|||
Pantheios 1.4 TODOs: |
|||
-------------------- |
|||
|
|||
+ Integrate FastFormat for full internationalisation |
|||
|
|||
|
|||
|
|||
Details: |
|||
======== |
|||
|
|||
The following is a (non-exhaustive) list of items that will ideally be |
|||
included in future releases. |
|||
|
|||
|
|||
? 2. RPMs, and packages for SUSE, FreeBSD, Mac OS-X, etc. |
|||
--------------------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: low/medium |
|||
|
|||
|
|||
? 4. pantheios_printf_len() family |
|||
---------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: low/medium |
|||
|
|||
Details: |
|||
|
|||
These functions will help in the implementation of maximally |
|||
efficient custom string access shims |
|||
|
|||
|
|||
? 6. Fast arena |
|||
--------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: low/medium |
|||
|
|||
Details: |
|||
|
|||
Create a Pantheios fast arena, for inserter classes. |
|||
|
|||
|
|||
? 8. Literal string internationalisation |
|||
---------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: low |
|||
|
|||
Details: |
|||
|
|||
Internationalise the severity strings ???? |
|||
|
|||
|
|||
? 9. Implement be.pantheios.COM |
|||
------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: medium |
|||
|
|||
Details: |
|||
|
|||
This'll be implemented in terms of Pantheios.COM, implementing the |
|||
back-end calls in terms of the Composite logger. |
|||
|
|||
|
|||
? 11. Workspaces/project files for compilers |
|||
-------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: low/medium |
|||
|
|||
Details: |
|||
|
|||
Need to generate automatically from the VC6 ones, for: |
|||
Borland |
|||
Visual C++ (7.x, 8.0) |
|||
others? |
|||
|
|||
|
|||
? 12. Fully featured log4cxx, log4cplus, log4cpp backends |
|||
--------------------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: medium |
|||
|
|||
|
|||
? 14. Implement be.loader for Windows |
|||
------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: medium |
|||
|
|||
Details: |
|||
|
|||
|
|||
? 15. Implement be.loader for UNIX |
|||
---------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: medium |
|||
|
|||
Details: |
|||
|
|||
|
|||
? 18. Allow be.file (or another be) to support file rolling |
|||
----------------------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Prioriry: medium |
|||
|
|||
Details: a user has requested a facility to allow log file rolling, i.e. |
|||
where a log is closed, and another opened, based on date and/or |
|||
size. |
|||
|
|||
|
|||
? 21. A decent README, and tutorial for UNIX and Win32, w + w/o IDE(s) |
|||
---------------------------------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Prioriry: medium |
|||
|
|||
Details: ????. |
|||
|
|||
|
|||
? 24. Fully document the library naming convention |
|||
-------------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Prioriry: medium |
|||
|
|||
Details: Explain to users what on earth |
|||
pantheios.1.bec.COMErrorObject.vc71.mt.nox.debug.lib means. |
|||
|
|||
|
|||
|
|||
? 27. Fully-featured ACE back-end / front-end |
|||
--------------------------------------------- |
|||
|
|||
Status: |
|||
|
|||
Priority: medium |
|||
|
|||
|
|||
|
|||
=============================== End of file ================================ |
@ -1,19 +0,0 @@ |
|||
<html> |
|||
<head> |
|||
<title>Pantheios - Project Map - bin</title> |
|||
<!-- |
|||
Created: 22nd September 2008 |
|||
Updated: 22nd September 2008 |
|||
--> |
|||
</head> |
|||
<body> |
|||
<h1>Pantheios - Project Map - bin</h1> |
|||
|
|||
<p> |
|||
Contains all the (test and example) programs built using the makefiles provided with the distribution. |
|||
</p> |
|||
|
|||
</body> |
|||
</html> |
|||
|
|||
|
8840
resources/3rdparty/pantheios-1.0.1-beta214/build/ar/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
19946
resources/3rdparty/pantheios-1.0.1-beta214/build/bc551/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
19946
resources/3rdparty/pantheios-1.0.1-beta214/build/bc56/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
19946
resources/3rdparty/pantheios-1.0.1-beta214/build/bc564/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
20250
resources/3rdparty/pantheios-1.0.1-beta214/build/bc582/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
20250
resources/3rdparty/pantheios-1.0.1-beta214/build/bc59x/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
20250
resources/3rdparty/pantheios-1.0.1-beta214/build/bc61x/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8152
resources/3rdparty/pantheios-1.0.1-beta214/build/como433.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8990
resources/3rdparty/pantheios-1.0.1-beta214/build/como433.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8152
resources/3rdparty/pantheios-1.0.1-beta214/build/cw8.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
16660
resources/3rdparty/pantheios-1.0.1-beta214/build/cw8.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
7538
resources/3rdparty/pantheios-1.0.1-beta214/build/dm/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc32.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
17352
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc32.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.mac/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
17352
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc33.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc34.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
17352
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc34.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.mac.x64/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.mac/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc40.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc41.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc42.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc43.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc44.unix.file64bit/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc44.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc45.unix.file64bit/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc45.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc46.unix.file64bit/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15800
resources/3rdparty/pantheios-1.0.1-beta214/build/gcc46.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl10.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl11.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
17042
resources/3rdparty/pantheios-1.0.1-beta214/build/icl12.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl6.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl7.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl8.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
24592
resources/3rdparty/pantheios-1.0.1-beta214/build/icl9.win32/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,110 +0,0 @@ |
|||
<html> |
|||
<head> |
|||
<title>Pantheios - Project Map - build</title> |
|||
<!-- |
|||
Created: 22nd September 2008 |
|||
Updated: 22nd September 2008 |
|||
--> |
|||
</head> |
|||
<body> |
|||
<h1>Pantheios - Project Map - build</h1> |
|||
|
|||
<p> |
|||
Each sub-directory of this directory, <code>build</code>, contains a makefile |
|||
for a given compiler/architecture/operating system combination. To build |
|||
Pantheios, open a shell / command-box in that directory, and execute |
|||
<code>make</code> (or <code>NMAKE</code>). The following are common command-lines |
|||
that are used: |
|||
<ul> |
|||
<li> |
|||
<code>make build.libs</code> - compiles and links all libraries |
|||
</li> |
|||
<li> |
|||
<code>make build</code> - compiles and links all libraries, examples, and test programs |
|||
</li> |
|||
<li> |
|||
<code>make build.examples</code> - compiles and links all examples (and any library dependencies) |
|||
</li> |
|||
<li> |
|||
<code>make test</code> - compiles and links all unit-/component-test programs (and any library dependencies), and executes them |
|||
</li> |
|||
<li> |
|||
<code>make test.unit</code> - compiles and links all unit-test programs (and any library dependencies), and executes them |
|||
</li> |
|||
<li> |
|||
<code>make test.component</code> - compiles and links all component-test programs (and any library dependencies), and executes them |
|||
</li> |
|||
<li> |
|||
<code>make test.performance</code> - compiles and links all performance-test programs (and any library dependencies), and executes them |
|||
</li> |
|||
</ul> |
|||
</p> |
|||
|
|||
<p> |
|||
The Pantheios team most commonly execute <code>make</code> with |
|||
"<code>make build test test.performance</code>", which causes all libraries, examples |
|||
and test programs to be built, and then executes the unit-tests, component-tests and |
|||
performance-tests. This pretty much verifies that everything is ok for a given |
|||
installation. |
|||
</p> |
|||
|
|||
<p> |
|||
Selecting your build directory is pretty straightforward: just select the directory |
|||
that most closely matches, from the following list. Note: It is not necessary to |
|||
separate specific architectures / operating systems |
|||
in every case. For example, the gcc41.unix directory contains a makefile that |
|||
will work regardless of bit-size (e.g. 32-bit vs 64-bit) and operating system |
|||
flavour (e.g. Linux vs BSD vs Solaris). Once you know your compiler, architecture, |
|||
and operating system, |
|||
</p> |
|||
|
|||
<table border="1"> |
|||
<tr> |
|||
<th>Compiler</th> |
|||
<th>Compiler Version</th> |
|||
<th>Operating System</th> |
|||
<th>Architecture</th> |
|||
<th>Makefile Directory</th> |
|||
</tr> |
|||
<tr><td>Borland</td><td>5.5.1</td><td>Windows</td><td>x86</td><td>bc551</td></tr> |
|||
<tr><td>Borland</td><td>5.6</td><td>Windows</td><td>x86</td><td>bc56</td></tr> |
|||
<tr><td>Borland</td><td>5.64</td><td>Windows</td><td>x86</td><td>bc564</td></tr> |
|||
<tr><td>Borland</td><td>5.82</td><td>Windows</td><td>x86</td><td>bc582</td></tr> |
|||
<tr><td>Comeau</td><td>4.3.3</td><td>UNIX</td><td><any></td><td>como433.unix</td></tr> |
|||
<tr><td>Comeau</td><td>4.3.3</td><td>Windows</td><td>x86</td><td>como433.win32</td></tr> |
|||
<tr><td>Metrowerks CodeWarrior</td><td>8.3</td><td>UNIX</td><td><any></td><td>cw8.unix</td></tr> |
|||
<tr><td>Metrowerks CodeWarrior</td><td>8.3</td><td>Windows</td><td>x86</td><td>cw8.win32</td></tr> |
|||
<tr><td>Digital Mars</td><td><latest></td><td>UNIX</td><td><any></td><td>dm</td></tr> |
|||
<tr><td>GCC</td><td>3.2</td><td>UNIX</td><td><any></td><td>gcc32.unix</td></tr> |
|||
<tr><td>GCC</td><td>3.2</td><td>Windows</td><td>x86</td><td>gcc32.win32</td></tr> |
|||
<tr><td>GCC</td><td>3.3</td><td>Mac OS-X</td><td><any></td><td>gcc33.mac</td></tr> |
|||
<tr><td>GCC</td><td>3.3</td><td>UNIX</td><td><any></td><td>gcc33.unix</td></tr> |
|||
<tr><td>GCC</td><td>3.3</td><td>Windows</td><td>x86</td><td>gcc33.win32</td></tr> |
|||
<tr><td>GCC</td><td>3.4</td><td>UNIX</td><td><any></td><td>gcc34.unix</td></tr> |
|||
<tr><td>GCC</td><td>3.4</td><td>Windows</td><td>x86</td><td>gcc34.win32</td></tr> |
|||
<tr><td>GCC</td><td>4.0</td><td>Mac OS-X</td><td><any></td><td>gcc40.mac</td></tr> |
|||
<tr><td>GCC</td><td>4.0</td><td>UNIX</td><td><any></td><td>gcc40.unix</td></tr> |
|||
<tr><td>GCC</td><td>4.1</td><td>Mac OS-X</td><td><any></td><td>gcc41.mac</td></tr> |
|||
<tr><td>GCC</td><td>4.1</td><td>UNIX</td><td><any></td><td>gcc41.unix</td></tr> |
|||
<tr><td>GCC</td><td>4.2</td><td>Mac OS-X</td><td><any></td><td>gcc42.mac</td></tr> |
|||
<tr><td>GCC</td><td>4.2</td><td>UNIX</td><td><any></td><td>gcc42.unix</td></tr> |
|||
<tr><td>GCC</td><td>4.3</td><td>Mac OS-X</td><td><any></td><td>gcc43.mac</td></tr> |
|||
<tr><td>GCC</td><td>4.3</td><td>UNIX</td><td><any></td><td>gcc43.unix</td></tr> |
|||
<tr><td>Intel</td><td>6</td><td>Windows</td><td>x86</td><td>icl6.win32</td></tr> |
|||
<tr><td>Intel</td><td>7</td><td>Windows</td><td>x86</td><td>icl7.win32</td></tr> |
|||
<tr><td>Intel</td><td>8</td><td>Windows</td><td>x86</td><td>icl8.win32</td></tr> |
|||
<tr><td>Intel</td><td>9</td><td>Windows</td><td>x86</td><td>icl9.win32</td></tr> |
|||
<tr><td>Visual C++</td><td>5</td><td>Windows</td><td>x86</td><td>vc5</td></tr> |
|||
<tr><td>Visual C++</td><td>6</td><td>Windows</td><td>x86</td><td>vc6</td></tr> |
|||
<tr><td>Visual C++</td><td>7</td><td>Windows</td><td>x86</td><td>vc7</td></tr> |
|||
<tr><td>Visual C++</td><td>7.1</td><td>Windows</td><td>x86</td><td>vc71</td></tr> |
|||
<tr><td>Visual C++</td><td>8</td><td>Windows</td><td>x86</td><td>vc8</td></tr> |
|||
<tr><td>Visual C++</td><td>8</td><td>Windows</td><td>x64</td><td>vc8.x64</td></tr> |
|||
<tr><td>Visual C++</td><td>9</td><td>Windows</td><td>x86</td><td>vc9</td></tr> |
|||
<tr><td>Visual C++</td><td>9</td><td>Windows</td><td>x64</td><td>vc9.x64</td></tr> |
|||
</table> |
|||
|
|||
</body> |
|||
</html> |
|||
|
|||
|
14800
resources/3rdparty/pantheios-1.0.1-beta214/build/sunpro59x.unix/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8369
resources/3rdparty/pantheios-1.0.1-beta214/build/vc10.unixem/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc10.x64/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc10/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8369
resources/3rdparty/pantheios-1.0.1-beta214/build/vc11.unixem/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc11.x64/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc11/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
49798
resources/3rdparty/pantheios-1.0.1-beta214/build/vc5/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
15386
resources/3rdparty/pantheios-1.0.1-beta214/build/vc6.unixem/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
65674
resources/3rdparty/pantheios-1.0.1-beta214/build/vc6/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
48702
resources/3rdparty/pantheios-1.0.1-beta214/build/vc7/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
48702
resources/3rdparty/pantheios-1.0.1-beta214/build/vc71/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8369
resources/3rdparty/pantheios-1.0.1-beta214/build/vc8.unixem/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc8.x64/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc8/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8369
resources/3rdparty/pantheios-1.0.1-beta214/build/vc9.unixem/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc9.x64/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
33583
resources/3rdparty/pantheios-1.0.1-beta214/build/vc9/makefile
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,140 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.101/example.c.101.c |
|||
* |
|||
* Purpose: C example program for introducing the basic essential |
|||
* features of Pantheios when using only the C API. |
|||
* Demonstrates: |
|||
* |
|||
* - how the Pantheios libraries must be explicitly |
|||
* initialised in a C program; this is not the case in |
|||
* C++ programs |
|||
* - use of pantheios_logputs() |
|||
* - use of pantheios_logprintf() |
|||
* - the statement size limitation imposed by |
|||
* pantheios_logprintf() |
|||
* |
|||
* Created: 17th January 2008 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> /* The root header for Panthieos when using the C-API. */ |
|||
#include <pantheios/frontends/stock.h> /* Declares the process identity symbol PANTHEIOS_FE_PROCESS_IDENTITY */ |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
#include <string.h> |
|||
|
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* Globals |
|||
*/ |
|||
|
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.101"); |
|||
|
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* main |
|||
*/ |
|||
|
|||
int main() |
|||
{ |
|||
int retCode = EXIT_SUCCESS; |
|||
int res; |
|||
|
|||
/* Initialise the Pantheios libraries. This will cause the Core to |
|||
* initialise, which will itself initialise the front-end and back-end |
|||
* libraries. |
|||
* |
|||
* Note: This is not required when your program contains 1 or more |
|||
* C++ compilation units that #include <pantheios/pantheios.hpp>, since |
|||
* that file contains mechanisms within it that cause the initialisation |
|||
* to be done automatically. However, it is still best practice to do so |
|||
* because that other compilation unit might be removed or replaced with |
|||
* a C compilation unit at a future time. |
|||
*/ |
|||
res = pantheios_init(); |
|||
|
|||
if(0 != res) |
|||
{ |
|||
/* If initialisation failed, we report why using |
|||
* pantheios_getInitCodeString() |
|||
*/ |
|||
|
|||
fprintf(stderr, "Failed to initialise the Pantheios libraries: %s\n", pantheios_getInitCodeString(res)); |
|||
|
|||
retCode = EXIT_FAILURE; |
|||
} |
|||
else |
|||
{ |
|||
/* The libraries are now initialised, so we can output diagnostic |
|||
* logging statements. |
|||
*/ |
|||
|
|||
PAN_CHAR_T bigBuff[5000]; |
|||
size_t n; |
|||
|
|||
int i = 10; |
|||
double d = 20.20; |
|||
PAN_CHAR_T c = 'c'; |
|||
|
|||
|
|||
/* 1. use pantheios_logputs(), which takes a severity level and a |
|||
* single string |
|||
*/ |
|||
|
|||
pantheios_logputs(PANTHEIOS_SEV_NOTICE, PANTHEIOS_LITERAL_STRING("pantheios_logputs() can output a single C-style string")); |
|||
|
|||
|
|||
|
|||
/* 2. use pantheios_logprintf() to output some fundamental type |
|||
* instances |
|||
*/ |
|||
|
|||
pantheios_logprintf(PANTHEIOS_SEV_WARNING, PANTHEIOS_LITERAL_STRING("pantheios_logprintf() uses a format string like this one, and can output all the types compatible with the printf() family, including ints (e.g. i = %d), doubles (e.g. d = %G), and chars (e.g. c = %c)"), i, d, c); |
|||
|
|||
|
|||
|
|||
/* 3. use pantheios_logprintf() to illustrate the size limit imposed by |
|||
* this API function |
|||
* |
|||
* Note: the C++ API log() method overloads do not impose a |
|||
* statement size limit; nor does pantheios_logputs() |
|||
*/ |
|||
|
|||
for(n = 0; n != (sizeof(bigBuff) / sizeof(0[bigBuff])) - 1; ++n) |
|||
{ |
|||
bigBuff[n] = '-'; |
|||
} |
|||
bigBuff[n] = '\0'; |
|||
|
|||
|
|||
pantheios_logprintf(PANTHEIOS_SEV_WARNING, PANTHEIOS_LITERAL_STRING("NOTE: pantheios_logprintf() output is limited to 4095 characters. The rest of this statement is a very long string of '-' characters, enclosed in quotations. As you can see, it will not be fully emitted: \"%s\""), bigBuff); |
|||
|
|||
|
|||
|
|||
/* Uninitialise the Pantheios libraries. |
|||
* |
|||
* Note: This is not required when your program contains 1 or more |
|||
* C++ compilation units that #include <pantheios/pantheios.hpp>, |
|||
* since that file contains mechanisms within it that cause the |
|||
* initialisation/uninitialisation to occur automatically. |
|||
*/ |
|||
pantheios_uninit(); |
|||
} |
|||
|
|||
return retCode; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.101/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.101 project. |
|||
* |
|||
* Created: 17th January 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,118 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.N/example.c.N.c |
|||
* |
|||
* Purpose: C example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of be.N back-end library that multiplexes output to |
|||
* various concrete back-ends |
|||
* - use of fe.N front-end library, that arbitrates output |
|||
* for be.N |
|||
* |
|||
* Created: 5th December 2006 |
|||
* Updated: 22nd March 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* PlatformSTL Header Files */ |
|||
#include <platformstl/platformstl.h> /* for platform discrimination */ |
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> /* main Pantheios C header file */ |
|||
#include <pantheios/frontends/fe.N.h> |
|||
#include <pantheios/backends/be.N.h> |
|||
#include <pantheios/backends/bec.file.h> |
|||
#include <pantheios/backends/bec.fprintf.h> |
|||
#include <pantheios/backends/bec.null.h> |
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) |
|||
# include <pantheios/backends/bec.syslog.h> |
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS) |
|||
# include <pantheios/backends/bec.WindowsSyslog.h> |
|||
#else /* ? OS */ |
|||
# error Operating system not discriminated |
|||
#endif /* OS */ |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h> /* for exit codes */ |
|||
|
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* Globals |
|||
*/ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using |
|||
* fe.N, fe.simple, etc. */ |
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.N"); |
|||
|
|||
pan_fe_N_t PAN_FE_N_SEVERITY_CEILINGS[] = |
|||
{ |
|||
{ 1, PANTHEIOS_SEV_NOTICE } /* Filters out everything below 'notice' */ |
|||
, { 2, PANTHEIOS_SEV_DEBUG } /* Allows all severities */ |
|||
, { 3, PANTHEIOS_SEV_ERROR } /* Allows only 'error', 'critical', 'alert', 'emergency' */ |
|||
, { 0, PANTHEIOS_SEV_NOTICE } /* Terminates the array; sets the default ceiling to 'notice' */ |
|||
}; |
|||
|
|||
pan_be_N_t PAN_BE_N_BACKEND_LIST[] = |
|||
{ |
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(1, pantheios_be_file, 0) |
|||
, PANTHEIOS_BE_N_STDFORM_ENTRY(2, pantheios_be_fprintf, 0) |
|||
, PANTHEIOS_BE_N_STDFORM_ENTRY(3, pantheios_be_null, 0) |
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) |
|||
, PANTHEIOS_BE_N_STDFORM_ENTRY(4, pantheios_be_syslog, 0) |
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS) |
|||
, PANTHEIOS_BE_N_STDFORM_ENTRY(4, pantheios_be_WindowsSyslog, 0) |
|||
#endif /* OS */ |
|||
, PANTHEIOS_BE_N_STDFORM_ENTRY(5, pantheios_be_file, 0) |
|||
, PANTHEIOS_BE_N_TERMINATOR_ENTRY |
|||
}; |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
/* Must initialise Pantheios, when using from C (and there are no C++ |
|||
* compilation units in the link-unit). |
|||
* |
|||
* If this is not done, undefined behaviour will ensue ... |
|||
*/ |
|||
if(pantheios_init() < 0) |
|||
{ |
|||
return EXIT_FAILURE; |
|||
} |
|||
else |
|||
{ |
|||
pantheios_logputs(PANTHEIOS_SEV_DEBUG, PANTHEIOS_LITERAL_STRING("debug")); |
|||
pantheios_logputs(PANTHEIOS_SEV_INFORMATIONAL, PANTHEIOS_LITERAL_STRING("info")); |
|||
pantheios_logputs(PANTHEIOS_SEV_NOTICE, PANTHEIOS_LITERAL_STRING("notice")); |
|||
pantheios_logputs(PANTHEIOS_SEV_WARNING, PANTHEIOS_LITERAL_STRING("warn")); |
|||
|
|||
pantheios_be_file_setFilePath(PANTHEIOS_LITERAL_STRING("file-1.log"), PANTHEIOS_BE_FILE_F_TRUNCATE, PANTHEIOS_BE_FILE_F_TRUNCATE, 1); |
|||
|
|||
pantheios_logputs(PANTHEIOS_SEV_ERROR, PANTHEIOS_LITERAL_STRING("error")); |
|||
pantheios_logputs(PANTHEIOS_SEV_CRITICAL, PANTHEIOS_LITERAL_STRING("critical")); |
|||
pantheios_logputs(PANTHEIOS_SEV_ALERT, PANTHEIOS_LITERAL_STRING("alert")); |
|||
pantheios_logputs(PANTHEIOS_SEV_EMERGENCY, PANTHEIOS_LITERAL_STRING("emergency")); |
|||
|
|||
pantheios_be_file_setFilePath(PANTHEIOS_LITERAL_STRING("file-5.log"), 0, 0, 5); |
|||
|
|||
/* Must uninitialise Pantheios. |
|||
* |
|||
* pantheios_uninit() must be called once for each successful (>=0) |
|||
* invocation of pantheios_init(). |
|||
*/ |
|||
pantheios_uninit(); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
} |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.N/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.N project. |
|||
* |
|||
* Created: 18th June 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,71 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.assert/example.c.assert.c |
|||
* |
|||
* Purpose: C example program for Pantheios. Demonstrates: |
|||
* |
|||
* - how the Pantheios libraries must be explicitly |
|||
* initialised in a C program; this is not the case in |
|||
* C++ programs |
|||
* - use of PANTHEIOS_ASSERT() |
|||
* |
|||
* Created: 8th May 2009 |
|||
* Updated: 22nd March 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/assert.h> |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h> |
|||
|
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* Compiler compatibility |
|||
*/ |
|||
|
|||
#ifdef STLSOFT_COMPILER_IS_BORLAND |
|||
# pragma warn -8008 |
|||
# pragma warn -8066 |
|||
#endif |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using |
|||
* fe.N, fe.simple, etc. */ |
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.assert"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
int i = pantheios_init(); |
|||
|
|||
if(i >= 0) |
|||
{ |
|||
PANTHEIOS_ASSERT(1); |
|||
|
|||
PANTHEIOS_ASSERT(0); |
|||
|
|||
|
|||
PANTHEIOS_MESSAGE_ASSERT(1, "it was true"); |
|||
|
|||
PANTHEIOS_MESSAGE_ASSERT(0, "it was false"); |
|||
|
|||
pantheios_uninit(); |
|||
} |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.assert/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.assert project. |
|||
* |
|||
* Created: 8th May 2009 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,71 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.core.pantheios_logprintf/example.c.core.pantheios_logprintf.c |
|||
* |
|||
* Purpose: C example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of pantheios_logprintf() in C compilation units |
|||
* |
|||
* Created: 31st August 2006 |
|||
* Updated: 22nd March 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> /* Pantheios C main header */ |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h> /* for exit codes */ |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using |
|||
* fe.N, fe.simple, etc. */ |
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.core.pantheios_logprintf"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
/* Must initialise Pantheios, when using from C (and there are no C++ |
|||
* compilation units in the link-unit). |
|||
* |
|||
* If this is not done, undefined behaviour will ensue ... |
|||
*/ |
|||
if(pantheios_init() < 0) |
|||
{ |
|||
return EXIT_FAILURE; |
|||
} |
|||
else |
|||
{ |
|||
int i = 123; |
|||
float f = 99.99f; |
|||
|
|||
/* Log the int and the float: Output: "int=123, float=99.99" |
|||
*/ |
|||
pantheios_logprintf(PANTHEIOS_SEV_INFORMATIONAL |
|||
, PANTHEIOS_LITERAL_STRING("int=%d, float=%g") |
|||
, i, f); |
|||
|
|||
/* Must uninitialise Pantheios. |
|||
* |
|||
* pantheios_uninit() must be called once for each successful (>=0) |
|||
* invocation of pantheios_init(). |
|||
*/ |
|||
pantheios_uninit(); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.core.pantheios_logprintf/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.core.pantheios_logprintf project. |
|||
* |
|||
* Created: 18th June 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,74 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.extended_severity/example.c.extended_severity.c |
|||
* |
|||
* Purpose: C example program for Pantheios. Demonstrates: |
|||
* |
|||
* - how the Pantheios libraries must be explicitly |
|||
* initialised in a C program; this is not the case in |
|||
* C++ programs |
|||
* - use of extended severity information, via |
|||
* PANTHEIOS_MAKE_EXTENDED_SEVERITY() |
|||
* |
|||
* Created: 21st May 2009 |
|||
* Updated: 22nd March 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h> |
|||
|
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* Compiler compatibility |
|||
*/ |
|||
|
|||
#ifdef STLSOFT_COMPILER_IS_BORLAND |
|||
# pragma warn -8008 |
|||
# pragma warn -8066 |
|||
#endif |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using |
|||
* fe.N, fe.simple, etc. */ |
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.extended_severity"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
int i = pantheios_init(); |
|||
|
|||
if(i >= 0) |
|||
{ |
|||
/* 1. Using the Pantheios API macro PANTHEIOS_MAKE_EXTENDED_SEVERITY() */ |
|||
pantheios_logprintf(PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_NOTICE, 10), PANTHEIOS_LITERAL_STRING("hello")); |
|||
|
|||
|
|||
/* 2 (a). In your code, you'd define your own, most succinct, symbol, e.g. ACME_XSEV(sev, xi28) */ |
|||
#define ACME_XSEV(sev, xi28) PANTHEIOS_MAKE_EXTENDED_SEVERITY(PANTHEIOS_SEV_ ## sev, xi28) |
|||
|
|||
/* 2 (b). and use it as follows */ |
|||
pantheios_logprintf(ACME_XSEV(NOTICE, 10), PANTHEIOS_LITERAL_STRING("hello")); |
|||
|
|||
|
|||
pantheios_uninit(); |
|||
} |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.extended_severity/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.extended_severity project. |
|||
* |
|||
* Created: 21st May 2009 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2009-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,79 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/example.c.log_n/example.c.log_n.c |
|||
* |
|||
* Purpose: C example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of pantheios_log_?() in C compilation units |
|||
* |
|||
* Created: 31st August 2006 |
|||
* Updated: 22nd March 2010 |
|||
* |
|||
* www: http://www.pantheios.org/ |
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> /* Pantheios C main header */ |
|||
#include <pantheios/util/string/snprintf.h> /* for pantheios_util_snprintf() */ |
|||
#include <pantheios/internal/safestr.h> |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdio.h> /* for sprintf() */ |
|||
#include <stdlib.h> /* for exit codes */ |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using |
|||
* fe.N, fe.simple, etc. */ |
|||
const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.c.log_n"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
/* Must initialise Pantheios, when using from C (and there are no C++ |
|||
* compilation units in the link-unit). |
|||
* |
|||
* If this is not done, undefined behaviour will ensue ... |
|||
*/ |
|||
if(pantheios_init() < 0) |
|||
{ |
|||
return EXIT_FAILURE; |
|||
} |
|||
else |
|||
{ |
|||
int numUsers = 1000000; |
|||
PAN_CHAR_T szNumUsers[101]; |
|||
|
|||
/* Log a three part statement. Note that specifying -1 |
|||
* for the length causes the corresponding string argument to be |
|||
* interpreted as a nul-terminated string, and its length to be |
|||
* calculated (via strlen()); Output: |
|||
* "We're sure there're likely to be >00000000000001000000 satisfied users of Pantheios" |
|||
*/ |
|||
pantheios_log_3(PANTHEIOS_SEV_CRITICAL |
|||
, PANTHEIOS_LITERAL_STRING("We're sure there're likely to be >"), -1 |
|||
, szNumUsers, pantheios_util_snprintf(&szNumUsers[0], STLSOFT_NUM_ELEMENTS(szNumUsers), PANTHEIOS_LITERAL_STRING("%020d"), numUsers) |
|||
, PANTHEIOS_LITERAL_STRING(" satisfied users of Pantheios"), -1); |
|||
|
|||
/* Must uninitialise Pantheios. |
|||
* |
|||
* pantheios_uninit() must be called once for each successful (>=0) |
|||
* invocation of pantheios_init(). |
|||
*/ |
|||
pantheios_uninit(); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
} |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/example.c.log_n/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.log_n project. |
|||
* |
|||
* Created: 18th June 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,186 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/util/example.c.util.getcurrenttime/example.c.util.getcurrenttime.c |
|||
* |
|||
* Purpose: Implementation file for the example.c.util.getcurrenttime project. |
|||
* |
|||
* Created: 30th August 2008 |
|||
* Updated: 27th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> |
|||
#include <pantheios/util/time/currenttime.h> |
|||
|
|||
/* STLSoft Header Files */ |
|||
#include <stlsoft/stlsoft.h> |
|||
#include <platformstl/platformstl.h> |
|||
#if defined(PLATFORMSTL_OS_IS_WINDOWS) |
|||
# include <winstl/error/error_functions.h> |
|||
#endif /* OS */ |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <errno.h> |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
#include <string.h> |
|||
|
|||
#if defined(_MSC_VER) && \ |
|||
defined(_DEBUG) |
|||
# include <crtdbg.h> |
|||
#endif /* _MSC_VER) && _DEBUG */ |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main(int argc, char** argv) |
|||
{ |
|||
STLSOFT_SUPPRESS_UNUSED(argc); |
|||
STLSOFT_SUPPRESS_UNUSED(argv); |
|||
|
|||
/* Using local time with the default representation for the platform */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, 0); |
|||
|
|||
printf("time with 0 flags: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using the current user time, with UNIX format */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_USE_UNIX_FORMAT |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, with UNIX format: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using system time with the default representation for the platform */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_USE_SYSTEM_TIME |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, using system time: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using local time with the default representation for the platform, favouring speed */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_USE_SYSTEM_TIME |
|||
| PANTHEIOS_GETCURRENTTIME_F_FAVOUR_SPEED |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, using system time, favouring speed: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using local time with the default representation for the platform, favouring accuracy */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_USE_SYSTEM_TIME |
|||
| PANTHEIOS_GETCURRENTTIME_F_FAVOUR_ACCURACY |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, using system time, favouring accuracy: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using local time with the default representation for the platform, microsecond resolution, favouring speed */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_TIME_RES_MICROSECS |
|||
| PANTHEIOS_GETCURRENTTIME_F_FAVOUR_SPEED |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, showing microseconds, favouring speed: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
/* Using local time with the default representation for the platform, microsecond resolution, favouring accuracy */ |
|||
{ |
|||
PAN_CHAR_T buff[101]; |
|||
pan_beutil_time_t tm; |
|||
int flags = 0 |
|||
| PANTHEIOS_GETCURRENTTIME_F_TIME_RES_MICROSECS |
|||
| PANTHEIOS_GETCURRENTTIME_F_FAVOUR_ACCURACY |
|||
; |
|||
size_t n; |
|||
|
|||
tm.capacity = STLSOFT_NUM_ELEMENTS(buff); |
|||
tm.len = 0; |
|||
tm.str = &buff[0]; |
|||
tm.strftimeFmt = NULL; |
|||
|
|||
n = pantheios_util_getCurrentTime(&tm, flags); |
|||
|
|||
printf("time, showing microseconds, favouring accuracy: %.*s\n", (int)n, buff); |
|||
} |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/util/example.c.util.getcurrenttime/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.util.getcurrenttime project. |
|||
* |
|||
* Created: 30th August 2008 |
|||
* Updated: 27th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,137 +0,0 @@ |
|||
/* ///////////////////////////////////////////////////////////////////////// |
|||
* File: examples/c/util/example.c.util.gethostname/example.c.util.gethostname.c |
|||
* |
|||
* Purpose: Implementation file for the example.c.util.gethostname project. |
|||
* |
|||
* Created: 25th August 2008 |
|||
* Updated: 27th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.h> |
|||
#include <pantheios/util/system/hostname.h> |
|||
|
|||
#include <pantheios/internal/safestr.h> |
|||
|
|||
/* STLSoft Header Files */ |
|||
#include <stlsoft/stlsoft.h> |
|||
#include <platformstl/platformstl.h> |
|||
#if defined(PLATFORMSTL_OS_IS_WINDOWS) |
|||
# include <winstl/error/error_functions.h> |
|||
#endif /* OS */ |
|||
|
|||
/* Standard C Header Files */ |
|||
#include <errno.h> |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
#include <string.h> |
|||
|
|||
#if defined(_MSC_VER) && \ |
|||
defined(_DEBUG) |
|||
# include <crtdbg.h> |
|||
#endif /* _MSC_VER) && _DEBUG */ |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main(int argc, char** argv) |
|||
{ |
|||
PAN_CHAR_T name[101]; |
|||
size_t cch = pantheios_getHostName(&name[0], STLSOFT_NUM_ELEMENTS(name)); |
|||
|
|||
/* There are three possible return values: |
|||
* |
|||
* 0 - indicates that no host name is available, or there was an error |
|||
* when retrieving it |
|||
* 101 - the buffer is not long enough |
|||
* [1, 101) - the name was successfully retrieved |
|||
* |
|||
* The only complication when processing this is that the last error |
|||
* information is held in an operating-system-specific form. On Windows, |
|||
* it is available via GetLastError(); otherwise use errno |
|||
*/ |
|||
|
|||
if(0 == cch) |
|||
{ |
|||
/* not available, or a problem retrieving it */ |
|||
|
|||
#if defined(PLATFORMSTL_OS_IS_WINDOWS) |
|||
|
|||
DWORD error = GetLastError(); |
|||
char* message; |
|||
|
|||
if(0 == winstl_C_format_message_alloc_a(error, NULL, &message)) |
|||
{ |
|||
/* Could not retrieve a string-form of the error, so print |
|||
* out the error code (in case that might help) |
|||
*/ |
|||
|
|||
fprintf(stderr, "could not elicit hostname: %lu\n", error); |
|||
} |
|||
else |
|||
{ |
|||
/* Print out the error string, and release it. |
|||
* |
|||
* Note: in C++, these function names are a lot cleaner |
|||
*/ |
|||
|
|||
fprintf(stderr, "could not elicit hostname: %s\n", message); |
|||
|
|||
winstl_C_format_message_free_buff_a(message); |
|||
} |
|||
|
|||
#else /* ? OS */ |
|||
|
|||
# ifdef PANTHEIOS_USING_SAFE_STR_FUNCTIONS |
|||
char err[1001]; |
|||
int r = strerror_s(err, STLSOFT_NUM_ELEMENTS(err) - 1, errno); |
|||
|
|||
if(0 != r) |
|||
{ |
|||
err[0] = '\0'; |
|||
} |
|||
else |
|||
{ |
|||
err[STLSOFT_NUM_ELEMENTS(err) - 1] = '\0'; |
|||
} |
|||
|
|||
fprintf(stderr, "could not elicit hostname: %s\n", err); |
|||
|
|||
# else /* ? PANTHEIOS_USING_SAFE_STR_FUNCTIONS */ |
|||
fprintf(stderr, "could not elicit hostname: %s\n", strerror(errno)); |
|||
# endif /* PANTHEIOS_USING_SAFE_STR_FUNCTIONS */ |
|||
|
|||
|
|||
#endif /* OS */ |
|||
} |
|||
else if(STLSOFT_NUM_ELEMENTS(name) == cch) |
|||
{ |
|||
/* buffer too short */ |
|||
|
|||
fprintf(stderr, "could not elicit hostname: name longer than given buffer\n"); |
|||
} |
|||
else |
|||
{ |
|||
/* Success. Print it out! */ |
|||
|
|||
fprintf(stdout, "host name: %s\n", name); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); |
|||
STLSOFT_SUPPRESS_UNUSED(argv); |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/c/util/example.c.util.gethostname/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.c.util.gethostname project. |
|||
* |
|||
* Created: 25th August 2008 |
|||
* Updated: 27th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,124 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.callback/example.cpp.backends.callback.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of a back-end library that uses callbacks. |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 25th August 2006 |
|||
* Updated: 11th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#include <pantheios/util/test/compiler_warnings_suppression.first_include.h>
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp> // Pantheios C++ main header
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/backends/bec.fprintf.h> // Include the API for bec.fprintf
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/backends/bec.WindowsConsole.h> // Include the API for bec.WindowsConsole
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* Standard C/C++ Header Files */ |
|||
#include <exception> // for std::exception
|
|||
#include <new> // for std::bad_alloc
|
|||
#include <string> // for std::string
|
|||
#include <stdlib.h> // for exit codes
|
|||
|
|||
#if defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
/* Windows Header Files */ |
|||
# include <windows.h> // for console colour constants
|
|||
#endif /* PLATFORMSTL_OS_IS_WINDOWS */
|
|||
|
|||
#include <pantheios/util/test/compiler_warnings_suppression.last_include.h>
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.callback"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
|
|||
PANTHEIOS_CALL(void) pantheios_be_fprintf_getAppInit( |
|||
int /* backEndId */ |
|||
, pan_be_fprintf_init_t* init) /* throw() */ |
|||
{ |
|||
init->flags |= PANTHEIOS_BE_INIT_F_NO_DATETIME; // Don't show date/time
|
|||
} |
|||
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
|
|||
PANTHEIOS_CALL(void) pantheios_be_WindowsConsole_getAppInit( |
|||
int /* backEndId */ |
|||
, pan_be_WindowsConsole_init_t* init |
|||
) /* throw() */ |
|||
{ |
|||
init->flags |= PANTHEIOS_BE_INIT_F_NO_DATETIME; // Don't show date/time
|
|||
|
|||
init->colours[pantheios::debug] = FOREGROUND_BLUE | FOREGROUND_INTENSITY; // Lose the white background
|
|||
init->colours[pantheios::notice] = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; // Lose the intensity
|
|||
} |
|||
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
try |
|||
{ |
|||
pantheios::log_DEBUG(PSTR("debug")); |
|||
pantheios::log_INFORMATIONAL(PSTR("informational")); |
|||
pantheios::log_NOTICE(PSTR("notice")); |
|||
pantheios::log_WARNING(PSTR("warning")); |
|||
pantheios::log_ERROR(PSTR("error")); |
|||
pantheios::log_CRITICAL(PSTR("critical")); |
|||
pantheios::log_ALERT(PSTR("alert")); |
|||
pantheios::log_EMERGENCY(PSTR("emergency")); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unexpected unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,40 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.callback/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.cpp.backends.callback project. |
|||
* |
|||
* Created: 21st October 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/be.fprintf.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/be.WindowsConsole.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,135 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file.callback/example.cpp.backends.file.callback.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of pantheios_be_file_setFilePath() |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 29th November 2006 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp> // Pantheios C++ main header
|
|||
#include <pantheios/inserters/args.hpp> // for pantheios::args
|
|||
|
|||
#include <pantheios/backends/bec.file.h> // be.file header
|
|||
|
|||
/* Standard C/C++ Header Files */ |
|||
#include <exception> // for std::exception
|
|||
#include <new> // for std::bad_alloc
|
|||
#include <string> // for std::string
|
|||
#include <stdlib.h> // for exit codes
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.file.callback"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
#ifdef PANTHEIOS_USE_WIDE_STRINGS
|
|||
# define pan_strcpy_ wcscpy
|
|||
#else
|
|||
# define pan_strcpy_ strcpy
|
|||
#endif
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Application-defined functions |
|||
*/ |
|||
|
|||
/** Cause the file to be opened when the application is starting up.
|
|||
*/ |
|||
PANTHEIOS_CALL(void) pantheios_be_file_getAppInit( |
|||
int /* backEndId */ |
|||
, pan_be_file_init_t* init |
|||
) /* throw() */ |
|||
{ |
|||
init->flags |= PANTHEIOS_BE_FILE_F_TRUNCATE; // Truncate the contents
|
|||
init->flags |= PANTHEIOS_BE_FILE_F_DELETE_IF_EMPTY; // Delete the file if nothing written
|
|||
|
|||
init->fileName = pan_strcpy_(init->buff, PSTR("callback-test-%D-%T.log")); |
|||
} |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main(int argc, char **argv) |
|||
{ |
|||
// Use of be.file involves several steps:
|
|||
//
|
|||
// 1. Linking to the back-end, either explicitly or implicitly
|
|||
// 2. Setting the log file path for the given back-end(s)
|
|||
// 3. Making log statements
|
|||
// 4. Changing the log file path for the given back-end(s)
|
|||
// 5. Closing the log file for the given back-end(s)
|
|||
|
|||
// In this case, linking is performed either by the build makefile or the
|
|||
// IDE project file, to the be.file back-end.
|
|||
//
|
|||
// In this case, the log file path via the application-defined callback
|
|||
// function pantheios_be_file_getAppInit(), which is called during program
|
|||
// initialisation, prior to main() being called. At the same time, the
|
|||
// flags PANTHEIOS_BE_FILE_F_TRUNCATE and
|
|||
// PANTHEIOS_BE_FILE_F_DELETE_IF_EMPTY are specified
|
|||
//
|
|||
// In this case, the file is closed automatically during program
|
|||
// uninitialisation.
|
|||
|
|||
try |
|||
{ |
|||
#ifndef PANTHEIOS_USE_WIDE_STRINGS
|
|||
pantheios::log_DEBUG("main(", pantheios::args(argc, argv), ")"); |
|||
#else /* ? !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); STLSOFT_SUPPRESS_UNUSED(argv); |
|||
#endif /* !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 1")); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 2")); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 3")); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 4")); |
|||
|
|||
pantheios::log_DEBUG(PSTR("exiting main()")); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unexpected unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,33 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file.callback/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.cpp.backends.file.callback project. |
|||
* |
|||
* Created: 21st October 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.file.WithCallback.h>
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,129 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file.lrsplit/example.cpp.backends.file.lrsplit.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of pantheios_be_file_setFilePath() |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 29th November 2006 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp> // Pantheios C++ main header
|
|||
#include <pantheios/inserters/args.hpp> // for pantheios::args
|
|||
|
|||
#include <pantheios/backends/bec.file.h> // be.file header
|
|||
|
|||
/* Standard C/C++ Header Files */ |
|||
#include <exception> // for std::exception
|
|||
#include <new> // for std::bad_alloc
|
|||
#include <string> // for std::string
|
|||
#include <stdlib.h> // for exit codes
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.file.lrsplit"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main(int argc, char **argv) |
|||
{ |
|||
// Use of be.file involves several steps:
|
|||
//
|
|||
// 1. Linking to the back-end, either explicitly or implicitly
|
|||
// 2. Setting the log file path for the given back-end(s)
|
|||
// 3. Making log statements
|
|||
// 4. Changing the log file path for the given back-end(s)
|
|||
// 5. Closing the log file for the given back-end(s)
|
|||
|
|||
// In this case, linking is performed either by the build makefile or the
|
|||
// IDE project file, to the be.lrsplit back-end, the bel.file local
|
|||
// back-end, and the ber.file remote back-end.
|
|||
//
|
|||
// In this case, only one back-end is specified, so the back-end
|
|||
// identifier PANTHEIOS_BEID_ALL (=== 0) is used.
|
|||
//
|
|||
// In this case, the log file path is set to 'log.single', and the file is
|
|||
// truncated with the flag and mask PANTHEIOS_BE_FILE_F_TRUNCATE.
|
|||
//
|
|||
// In this case, we explicitly close the log-file, then open it again,
|
|||
// just for illustrative purposes.
|
|||
|
|||
try |
|||
{ |
|||
#ifndef PANTHEIOS_USE_WIDE_STRINGS
|
|||
pantheios::log_DEBUG("main(", pantheios::args(argc, argv), ")"); |
|||
#else /* ? !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); STLSOFT_SUPPRESS_UNUSED(argv); |
|||
#endif /* !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 1")); |
|||
|
|||
|
|||
// Set the file name for the local back-end, truncating the
|
|||
// file's existing contents, if any.
|
|||
pantheios_be_file_setFilePath(PSTR("local.log"), PANTHEIOS_BE_FILE_F_TRUNCATE, PANTHEIOS_BE_FILE_F_TRUNCATE, PANTHEIOS_BEID_LOCAL); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 2")); |
|||
|
|||
|
|||
// Set the file name for the remote back-end, not truncating, so that
|
|||
// its contents accrue each execution.
|
|||
pantheios_be_file_setFilePath(PSTR("remote.log"), PANTHEIOS_BEID_REMOTE); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 3")); |
|||
|
|||
|
|||
// Close all files, by setting the path to NULL.
|
|||
pantheios_be_file_setFilePath(NULL, PANTHEIOS_BEID_ALL); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 4")); |
|||
|
|||
|
|||
pantheios::log_DEBUG(PSTR("exiting main()")); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unexpected unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,35 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file.lrsplit/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.cpp.backends.file.lrsplit project. |
|||
* |
|||
* Created: 21st October 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.lrsplit.h>
|
|||
#include <pantheios/implicit_link/bel.file.h>
|
|||
#include <pantheios/implicit_link/ber.file.h>
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,130 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file/example.cpp.backends.file.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of pantheios_be_file_setFilePath() |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 29th November 2006 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp> // Pantheios C++ main header
|
|||
#include <pantheios/inserters/args.hpp> // for pantheios::args
|
|||
|
|||
#include <pantheios/backends/bec.file.h> // be.file header
|
|||
|
|||
/* Standard C/C++ Header Files */ |
|||
#include <exception> // for std::exception
|
|||
#include <new> // for std::bad_alloc
|
|||
#include <string> // for std::string
|
|||
#include <stdlib.h> // for exit codes
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.file"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main(int argc, char **argv) |
|||
{ |
|||
// Use of be.file involves several steps:
|
|||
//
|
|||
// 1. Linking to the back-end, either explicitly or implicitly
|
|||
// 2. Setting the log file path for the given back-end(s)
|
|||
// 3. Making log statements
|
|||
// 4. Changing the log file path for the given back-end(s)
|
|||
// 5. Closing the log file for the given back-end(s)
|
|||
|
|||
// In this case, linking is performed either by the build makefile or the
|
|||
// IDE project file, to the be.file back-end.
|
|||
//
|
|||
// In this case, only one back-end is specified, so the back-end
|
|||
// identifier PANTHEIOS_BEID_ALL (=== 0) is used.
|
|||
//
|
|||
// In this case, the log file path is set to 'log.single', and the file is
|
|||
// truncated with the flag and mask PANTHEIOS_BE_FILE_F_TRUNCATE.
|
|||
//
|
|||
// In this case, we explicitly close the log-file, then open it again,
|
|||
// just for illustrative purposes.
|
|||
|
|||
try |
|||
{ |
|||
#ifndef PANTHEIOS_USE_WIDE_STRINGS
|
|||
pantheios::log_DEBUG("main(", pantheios::args(argc, argv), ")"); |
|||
#else /* ? !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); STLSOFT_SUPPRESS_UNUSED(argv); |
|||
#endif /* !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 1")); |
|||
|
|||
|
|||
// Set the file name for the only back-end, truncating the file's
|
|||
// existing contents, if any.
|
|||
pantheios_be_file_setFilePath(PSTR("single.log"), PANTHEIOS_BE_FILE_F_TRUNCATE, PANTHEIOS_BE_FILE_F_TRUNCATE, PANTHEIOS_BEID_ALL); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 2")); |
|||
|
|||
|
|||
// Close the file, by setting the path to NULL.
|
|||
pantheios_be_file_setFilePath(NULL, PANTHEIOS_BEID_ALL); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 3")); |
|||
|
|||
|
|||
// (Re)set the file name for the only back-end, and change it to append
|
|||
// to the file's existing contents. Note that this must be done by
|
|||
// changing the truncate bit in the mask to 0.
|
|||
pantheios_be_file_setFilePath(PSTR("single.log"), PANTHEIOS_BE_FILE_F_TRUNCATE, 0, PANTHEIOS_BEID_ALL); |
|||
|
|||
|
|||
pantheios::log_NOTICE(PSTR("stmt 4")); |
|||
|
|||
|
|||
pantheios::log_DEBUG(PSTR("exiting main()")); |
|||
|
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unexpected unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,33 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.file/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.cpp.file project. |
|||
* |
|||
* Created: 21st October 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.file.h>
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,125 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.mx.1/example.cpp.backends.mx.1.cpp |
|||
* |
|||
* Purpose: Implementation file for the example.cpp.backends.mx.1 project. |
|||
* |
|||
* Created: 19th September 2008 |
|||
* Updated: 11th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp>
|
|||
#include <pantheios/inserters/args.hpp>
|
|||
#include <pantheios/frontends/fe.simple.h>
|
|||
#include <pantheios/backends/be.N.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/backends/bec.fprintf.h>
|
|||
# include <pantheios/backends/bec.syslog.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/backends/bec.WindowsConsole.h>
|
|||
# include <pantheios/backends/bec.WindowsSyslog.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* STLSoft Header Files */ |
|||
#include <stlsoft/stlsoft.h>
|
|||
|
|||
/* Standard C++ Header Files */ |
|||
#include <exception>
|
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdio.h>
|
|||
#include <stdlib.h>
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Globals |
|||
*/ |
|||
|
|||
extern "C" const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.mx.1"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Logging management |
|||
*/ |
|||
|
|||
enum |
|||
{ |
|||
beid_Console = 1, |
|||
beid_Syslog = 2 |
|||
}; |
|||
|
|||
pan_be_N_t PAN_BE_N_BACKEND_LIST[] = |
|||
{ |
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Console, pantheios_be_fprintf, 0), |
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Syslog, pantheios_be_syslog, PANTHEIOS_BE_N_F_ID_MUST_MATCH_CUSTOM28), |
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Console, pantheios_be_WindowsConsole, 0), |
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Syslog, pantheios_be_WindowsSyslog, PANTHEIOS_BE_N_F_ID_MUST_MATCH_CUSTOM28), |
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
PANTHEIOS_BE_N_TERMINATOR_ENTRY |
|||
}; |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
static int main_(int argc, char** argv) |
|||
{ |
|||
// This goes only to debugger
|
|||
#ifndef PANTHEIOS_USE_WIDE_STRINGS
|
|||
pantheios::log_NOTICE(PSTR("main("), pantheios::args(argc, argv), PSTR(")")); |
|||
#else /* ? !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); STLSOFT_SUPPRESS_UNUSED(argv); |
|||
#endif /* !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
|
|||
|
|||
// This goes to console and debugger
|
|||
pantheios::log(pantheios::notice(beid_Syslog), PSTR("Isn't targeted multiplexing great?!")); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
int main(int argc, char** argv) |
|||
{ |
|||
try |
|||
{ |
|||
return main_(argc, argv); |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unhandled unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,42 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.mx.1/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.mx.1 project. |
|||
* |
|||
* Created: 19th September 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.N.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/bec.fprintf.h>
|
|||
# include <pantheios/implicit_link/bec.syslog.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/bec.WindowsConsole.h>
|
|||
# include <pantheios/implicit_link/bec.WindowsSyslog.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,125 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.mx.2/example.cpp.backends.mx.2.cpp |
|||
* |
|||
* Purpose: Implementation file for the example.cpp.backends.mx.2 project. |
|||
* |
|||
* Created: 19th September 2008 |
|||
* Updated: 11th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/pantheios.hpp>
|
|||
#include <pantheios/inserters/args.hpp>
|
|||
#include <pantheios/frontends/fe.simple.h>
|
|||
#include <pantheios/backends/be.N.h>
|
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/backends/bec.fprintf.h>
|
|||
# include <pantheios/backends/bec.syslog.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/backends/bec.WindowsConsole.h>
|
|||
# include <pantheios/backends/bec.WindowsSyslog.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* STLSoft Header Files */ |
|||
#include <stlsoft/stlsoft.h>
|
|||
|
|||
/* Standard C++ Header Files */ |
|||
#include <exception>
|
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdio.h>
|
|||
#include <stdlib.h>
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Globals |
|||
*/ |
|||
|
|||
extern "C" const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.backends.mx.2"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
#define PSTR(x) PANTHEIOS_LITERAL_STRING(x)
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Logging management |
|||
*/ |
|||
|
|||
enum |
|||
{ |
|||
beid_Console = 1, |
|||
beid_Syslog = 2 |
|||
}; |
|||
|
|||
pan_be_N_t PAN_BE_N_BACKEND_LIST[] = |
|||
{ |
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Console, pantheios_be_fprintf, PANTHEIOS_BE_N_F_IGNORE_NONMATCHED_CUSTOM28_ID), |
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Syslog, pantheios_be_syslog, PANTHEIOS_BE_N_F_ID_MUST_MATCH_CUSTOM28), |
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Console, pantheios_be_WindowsConsole, PANTHEIOS_BE_N_F_IGNORE_NONMATCHED_CUSTOM28_ID), |
|||
PANTHEIOS_BE_N_STDFORM_ENTRY(beid_Syslog, pantheios_be_WindowsSyslog, PANTHEIOS_BE_N_F_ID_MUST_MATCH_CUSTOM28), |
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
PANTHEIOS_BE_N_TERMINATOR_ENTRY |
|||
}; |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
static int main_(int argc, char** argv) |
|||
{ |
|||
// This goes only to debugger
|
|||
#ifndef PANTHEIOS_USE_WIDE_STRINGS
|
|||
pantheios::log_NOTICE(PSTR("main("), pantheios::args(argc, argv), PSTR(")")); |
|||
#else /* ? !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
STLSOFT_SUPPRESS_UNUSED(argc); STLSOFT_SUPPRESS_UNUSED(argv); |
|||
#endif /* !PANTHEIOS_USE_WIDE_STRINGS */
|
|||
|
|||
|
|||
// This goes to console and debugger
|
|||
pantheios::log(pantheios::notice(beid_Syslog), PSTR("Isn't targeted multiplexing great?!")); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
int main(int argc, char** argv) |
|||
{ |
|||
try |
|||
{ |
|||
return main_(argc, argv); |
|||
} |
|||
catch(std::bad_alloc&) |
|||
{ |
|||
pantheios::log(pantheios::alert, PSTR("out of memory")); |
|||
} |
|||
catch(std::exception& x) |
|||
{ |
|||
pantheios::log_CRITICAL(PSTR("Exception: "), x); |
|||
} |
|||
catch(...) |
|||
{ |
|||
pantheios::logputs(pantheios::emergency, PSTR("Unhandled unknown error")); |
|||
} |
|||
|
|||
return EXIT_FAILURE; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,42 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/backends/example.cpp.backends.mx.2/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.mx.2 project. |
|||
* |
|||
* Created: 19th September 2008 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.N.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX)
|
|||
# include <pantheios/implicit_link/bec.fprintf.h>
|
|||
# include <pantheios/implicit_link/bec.syslog.h>
|
|||
#elif defined(PLATFORMSTL_OS_IS_WINDOWS)
|
|||
# include <pantheios/implicit_link/bec.WindowsConsole.h>
|
|||
# include <pantheios/implicit_link/bec.WindowsSyslog.h>
|
|||
#else /* ? OS */
|
|||
# error Platform not discriminated
|
|||
#endif /* OS */
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,66 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/contract/example.cpp.contract.PANTHEIOS_ASSERT/example.cpp.contract.PANTHEIOS_ASSERT.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of Pantheios inserter for thread ids |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 8th May 2009 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/assert.h>
|
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h>
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Compiler compatibility |
|||
*/ |
|||
|
|||
#ifdef STLSOFT_COMPILER_IS_BORLAND
|
|||
# pragma warn -8008
|
|||
# pragma warn -8066
|
|||
#endif
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.contract.PANTHEIOS_ASSERT"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
int i = pantheios::init(); |
|||
|
|||
if(i >= 0) |
|||
{ |
|||
PANTHEIOS_ASSERT(true); |
|||
|
|||
PANTHEIOS_ASSERT(false); |
|||
|
|||
pantheios::uninit(); |
|||
} |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,33 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/contract/example.cpp.contract.PANTHEIOS_ASSERT/implicit_link.cpp |
|||
* |
|||
* Purpose: Implicit link file for the example.cpp.contract.PANTHEIOS_ASSERT project. |
|||
* |
|||
* Created: 8th May 2009 |
|||
* Updated: 6th December 2010 |
|||
* |
|||
* Status: Wizard-generated |
|||
* |
|||
* License: (Licensed under the Synesis Software Open License) |
|||
* |
|||
* Copyright (c) 2008-2010, Synesis Software Pty Ltd. |
|||
* All rights reserved. |
|||
* |
|||
* www: http://www.synesis.com.au/software
|
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/implicit_link/core.h>
|
|||
#include <pantheios/implicit_link/fe.simple.h>
|
|||
#include <pantheios/implicit_link/be.console.h>
|
|||
|
|||
/* UNIXem Header Files */ |
|||
#include <platformstl/platformstl.h>
|
|||
#if defined(PLATFORMSTL_OS_IS_UNIX) && \
|
|||
defined(_WIN32) |
|||
# include <unixem/implicit_link.h>
|
|||
#endif /* _WIN32 || _WIN64 */
|
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
@ -1,66 +0,0 @@ |
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* File: examples/cpp/contract/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT/example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT.cpp |
|||
* |
|||
* Purpose: C++ example program for Pantheios. Demonstrates: |
|||
* |
|||
* - use of Pantheios inserter for thread ids |
|||
* - use of pantheios::logputs() in bail-out conditions |
|||
* |
|||
* Created: 8th May 2009 |
|||
* Updated: 7th December 2010 |
|||
* |
|||
* www: http://www.pantheios.org/
|
|||
* |
|||
* License: This source code is placed into the public domain 2006 |
|||
* by Synesis Software Pty Ltd. There are no restrictions |
|||
* whatsoever to your use of the software. |
|||
* |
|||
* This software is provided "as is", and any warranties, |
|||
* express or implied, of any kind and for any purpose, are |
|||
* disclaimed. |
|||
* |
|||
* ////////////////////////////////////////////////////////////////////// */
|
|||
|
|||
|
|||
#define PANTHEIOS_NO_INCLUDE_OS_AND_3PTYLIB_STRING_ACCESS // Faster compilation
|
|||
|
|||
/* Pantheios Header Files */ |
|||
#include <pantheios/assert.h>
|
|||
|
|||
/* Standard C Header Files */ |
|||
#include <stdlib.h>
|
|||
|
|||
/* /////////////////////////////////////////////////////////////////////////
|
|||
* Compiler compatibility |
|||
*/ |
|||
|
|||
#ifdef STLSOFT_COMPILER_IS_BORLAND
|
|||
# pragma warn -8008
|
|||
# pragma warn -8066
|
|||
#endif
|
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
/* Define the stock front-end process identity, so that it links when using
|
|||
* fe.N, fe.simple, etc. */ |
|||
PANTHEIOS_EXTERN_C const PAN_CHAR_T PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("example.cpp.contract.PANTHEIOS_MESSAGE_ASSERT"); |
|||
|
|||
/* ////////////////////////////////////////////////////////////////////// */ |
|||
|
|||
int main() |
|||
{ |
|||
int i = pantheios::init(); |
|||
|
|||
if(i >= 0) |
|||
{ |
|||
PANTHEIOS_MESSAGE_ASSERT(true, "it was true"); |
|||
|
|||
PANTHEIOS_MESSAGE_ASSERT(false, "it was false"); |
|||
|
|||
pantheios::uninit(); |
|||
} |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
/* ///////////////////////////// end of file //////////////////////////// */ |
Some files were not shown because too many files changed in this diff
Reference in new issue
xxxxxxxxxx