OS4 DepotLogo by Marko 
(anonymous IP:,0) 

   Bug tracker
   Locale browser

   o Audio (333)
   o Datatype (50)
   o Demo (196)
   o Development (567)
   o Document (21)
   o Driver (96)
   o Emulation (143)
   o Game (936)
   o Graphics (485)
   o Library (105)
   o Network (222)
   o Office (61)
   o Utility (868)
   o Video (65)

Total files: 4148

Full index file. Download
Recent index file. Download



Support the site

 Readme for:  Development » Library » oo.lha

OO library

Description: Bring easier programming to C and AmigaOS
Download: oo.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 1Mb
Version: 1.17
Date: 17 Sep 21
Author: Tuomas Hokka
Submitter: Tuomas Hokka
Requirements: Check the Readme
Category: development/library
Replaces: development/library/oo.lha
License: Freeware
Distribute: yes
Min OS Version: 4.1
FileID: 11814
Comments: 12
Snapshots: 2
Videos: 0
Downloads:  (Current version)

[Show comments] [Show snapshots] [Show videos] [Show content] [Show crashlogs] 
OO library brings object class style and easier programming to plain C language
and AmigaOS. OO library makes also possible to create GUI's using GUIML
(Graphical User Interface Markup Language).

*** REMOVED Hook and Node classes because they were unncecessary! Replace their
usage and re-compile all your projects! ***
*** NOTE: Random class has it's own ooRandom.h header file. ooSys.h has been
removed! ***
*** NOTE: List class has it's own ooList.h header file. ooSys.h has been
removed! ***

* Known problems v1.17: Reading GUIML might crash!
* Known problems v1.17: Using the close button of clicktab tabs will crash!

* Requirements: knob.gadget, radiobuttonX.gadget, picflow.gadget, drawer.gadget
(included in the package); avcodec2.library, avformat2.library, avutil2.library,
swresample2.library, swscale2.library for Video class and can be found from
Emotion video player package 

Permission granted to redistribute oo.library in binary form in software
made for AmigaOS and using the oo.library.

Note: New releases of the library should be compatible with software using the
older versions but recompiling your projects using the oo.library is recommended

Drawing graphics to a window: Add a Space gadget to your window layout and use
the Space gadget object to create a Graphics object. Use the Graphics object to
draw into the Space gadget's rastport (which is the windows rastport). Graphics
class takes care of rastport's and double buffering.

Included examples: Drawerview, GUIfromGUIMLfile, KeyValuePairs, SamplePlayer,
SimpleAudio, SimpleDOS, SimpleGUI, SimpleHTTP, SimpleServer, SimpleVideo,
SimpleSpaceShooter, SimpleTalk, Inheritance, SimpleWWW, SimpleXML, ListTest,

Some highlights:
* OO Window class adds new choices to a window popup menu (the popup gadget in a
window title bar), when enabled:
 - Full screen mode: A custom screen is opened and the window is moved there and
resized to fill up the screen below the screen title bar
 - Half screen mode: The window is resized to fill horizontally half of the
screen area and moved either left side or right side of the screen (a modern
feature to see two documents side by side, for example)
 - Public screens, which are defined in Screen prefs and marked as auto
open/close but not opened yet, are listed for screen jumping as well as already
open public screens

Version history:
- 1.17 (17th September 2021):
 - Very important fix: Moved AmiSSL opening, initializing, cleaning and closing
from Network class to library base. After calling AmiSSL Cleanup it's not
possible to use AmiSSL again without closing it. So this should be done only
once in one place. This fixes being able to close and open network connection
again like needing to connect to a different server when the requested file is
redirected to another location, for example.
 - More fixes to HTTP response handling: Do not try to read more bytes than
   response length (plus header) if the response length is known
 - Added methods to Network class: IsValidHTML, Send, Receive,
CreateConnectionHost, Reconnect, ReconnectHost (Use host variants of
CreateConnectionHost and ReconnectHost when not using HTTP connections.
CreateConnection and Reconnect expects full URI's.)
 - Added FromBytes method to String class
 - Added AppendToPicFlowList() and RemoveFromPicFlowList() methods to Video
 - Added new methods to Tool class
 - Added AddObjectLabel() and AddObjectLabelWeighted() to Layout gadget class
 (- NOT implemented methods in Network class: TextToURI, URIToText)

- 1.16 (18th June 2021):
 - Moved opening of AmigaInput library from OO library init to the Tool class
   (some people have issues opening AmigaInput library if its prefs file is

- 1.15 (8th June 2021):
 - Added some HTTP status handling to SendHTTPRequest method in Network class
   error situations
 - FIXED: Do not try to request more data from the server in error situations
   (so no need to wait for timeout)

- 1.14 (4th June 2021):
 - FIXED: No need to open Camd library in library init code and aborting if Camd
   was not found (Camd library is opened in MIDI class anyway)
 - FIXED loading HTTP response in some cases in Network class
 - FIXED reporting content length and HTTP response length in Network class
 - Added code for more handling of chunk sizes in chunked data loads in Network
 - Note: This version was not released to the public

- 1.13 (20th May 2021):
 - Implemented handling of chunked transfer encoding to SendHTTPRequest in
Network class
 - Refactored networking code and changed how header-body separator is looked

Copyright (c) 2004-2021 by Björn Hagström All Rights Reserved
Amiga OS and its logos are registered trademarks of Hyperion Entertainment