Sack Library Documentation
ContentsIndexReferenceHome
sack Namespace Namespaces
Namespaces
Name 
Description 
app 
Deadstart is support which differs per compiler, but allows applications access a C++ feature - static classes with constructors that initialize at loadtime, but, have the feature that you can create threads. Deadstart code is run after the DLL load lock under windows that prevents creation of threads; however, deadstart is run before main. Deadstart routines can have a priority. Certain features require others to be present always. This allows explicit control of priority unlink using classes with static constructors, which requires ordering of objects to provide linking order. Also provides a similar registration mechanism for atexit, but extending with... more 
This type stores data, it has a self-contained length in bytes of the data stored. Length is in characters 
File system abstractions. A few things like get current path may or may not exist on a function.

Primarily this defines functions 'pathchr' and 'pathrchr' which resemble 'strchr' and 'strrchr' but search a string for a path character. A path character is either a / or a \.

Also in this area is file monitoring functions which support methods on windows and linux to get event notifications when directories and, by filtering, files that have changed. 
Deals with images and image processing.

Image is the primary type of this.
Font is a secondary type for putting text on images.

render namespace is contained in image, because without image, there could be no render. see PRENDERER. 
 
Handles log output. Logs can be directed to UDP directed, or broadcast, or localhost, or to a file location, and under windows the debugging console log.

lprintf
SetSystemLog
SystemLogTime

there are options, when options code is enabled, which control logging output and format. Log file location can be specified generically for instance.... see Options.
This namespace contains the logging functions. The most basic thing you can do to start logging is use 'lprintf'.
 
math 
Namespace of custom math routines. Contains operators for Vectors and fractions. 
Memory namespace contains functions for allocating and releasing memory. Also contains methods for accessing shared memory (if available on the target platform).

Allocate
Release
Hold
OpenSpace 
msg 
This namespace contains an implmentation of inter process communications using a set of message queues which result from 'msgget' 'msgsnd' and 'msgrcv'. This are services available under a linux kernel. Reimplemented a version to service for windows. This is really a client/service registration and message routing system, it is not the message queue itself. See message for the queue implementation (again, under linux, does not use this custom queue). 
Event based networking interface.
 
PSI 
PSI is Panther's Slick Interface.
This is a control library which handles custom controls and regions within a form. This isn't a window manager.

PSI_CONTROL is the primary structure that this uses. It esists as a pointer to a structure, the content of which should never be accessed by the real world. For purposes of documentation these structures (in controlstruc.h) are presented, but they are inaccessable from outside of SACK itself, and will not be provided in the SDK.

A PSI_CONTROL can represent a 'Frame' which contains other controls. A Frame owns a PRENDERER which it uses to present... more 
sql 
SQL access library. This provides a simple access to ODBC connections, and to sqlite. If no database is specified, there is an internal database that can be used. These methods on the PODBC connection are NOT thread safe. Multiple threads shall never use the same PODBC; they can use seperate PODBC connections. Under linux this links to unixODBC.

DoSQLCommandf
DoSQLRecordQueryf
GetSQLRecord

ConnectToDatabase
DoSQLCommandf
DoSQLRecordQueryf
FetchSQLRecord

There is a configuration file for the default SQL connection, this is kept in a file 'sql.config' which is processed with ProcessConfigurationFile(); If this file does not exist, it will be automatically created with default... more 
This is namespace sack::system. 
task 
This is namespace sack::task. 
This namespace contains methods for working with timers and threads. Since timers are implemented in an asynchronous thread, the thread creation and control can be exposed here also.

ThreadTo
WakeThread
WakeableSleep [Example]
AddTimer
RemoveTimer
RescheduleTimer
EnterCriticalSec see Also EnterCriticalSecNoWait
LeaveCriticalSec 
Created with a commercial version of Doc-O-Matic. In order to make this message disappear you need to register this software. If you have problems registering this software please contact us at support@toolsfactory.com.
Copyright (c) 2000+. All rights reserved.