package require TclOO
package require logger
package require struct::list
FILENAME: autoObject.tcl
DESCRIPTION: AutoObject is a TclOO class-based package used to create auto-assembling objects that map a Tcl dict-style get/set interface onto a block of unstructured memory using simple run-time descriptors. The key feature is that objects can be transparently serialized and deserialized to/from binary or byte list format, allowing them to be passed to or received from any interface that supports byte list/serial formats, while still being Tcl-intuitive to work with programmatically.
Past applications include converting structured data to/from
byte arrays for COM interfaces to other languages, message
formats for serial communication, and parsing of memory
blocks retrieved from embedded targets.
This package documentation is auto-generated with Pycco: https://pycco-docs.github.io/pycco/
Use "pycco filename" to re-generate HTML documentation in ./docs .
;# Exclude if somehow sourced more than once.
if {!([info exists ::AutoObject::InitializationComplete] && $::AutoObject::InitializationComplete)} {
namespace eval ::AutoObject {
variable AUTOOBJECT_VERSION 1.0.0
logger::init ::autoObject
logger::import -all -namespace ::autoObject::log ::autoObject
::autoObject::log::setlevel warn
Source the base AutoObject class file
source [file join [file dirname [info script]] autoObjectBase.tcl]
Source the mixin data type classes file
source [file join [file dirname [info script]] autoObjectData.tcl]
Source the Tk widget support file
source [file join [file dirname [info script]] autoObjectWidgets.tcl]
variable InitializationComplete
}
set ::AutoObject::InitializationComplete true
}
package provide autoObject $::AutoObject::AUTOOBJECT_VERSION