00001 // Cascade.h - main header file of the Cascade Library 00002 // 00003 // Copyright (c) 2002, Roku, LLC. All rights reserved. 00004 // 00008 00009 #ifndef _ROKU_INCLUDE_CASCADE_CASCADE_H 00010 #define _ROKU_INCLUDE_CASCADE_CASCADE_H 00011 00114 // #include the entire Cascade public interface 00116 00118 // CascadeTypedefs.h - necessary typedefs and #defines for base types 00119 // CascadeObject.h - base class of objects in the Cascade Library 00120 #include <cascade/CascadeTypedefs.h> 00121 #include <cascade/CascadeObject.h> 00122 00124 // CascadeApp - base class of CascadeApps 00125 // CascadeAppMessageSink - mix-in class for handling CascadeApp wormhole messages 00126 // CascadeInput - functions for dispatching input to CascadeApps 00127 // CascadeKeyDefs - definitions of key types for input commands 00128 // CascadeMessageBox - a modal message box 00129 // CascadeMountMessage - message sent when fs is mounted or unmounted 00130 // CascadePowerLED - represents the power led if present 00131 // CascadePowerLEDMessage - message sent to control the power led 00132 // CascadePowerMessage - message sent when system power state changes 00133 // CascadeTimer - mix-in class for timer notification 00134 // CascadeWindow - base class of windows for CascadeApps 00135 #include <cascade/app/CascadeApp.h> 00136 #include <cascade/app/CascadeAppMessageSink.h> 00137 #include <cascade/app/CascadeInput.h> 00138 #include <cascade/app/CascadeKeyDefs.h> 00139 #include <cascade/app/CascadeMessageBox.h> 00140 #include <cascade/app/CascadeMountMessage.h> 00141 #include <cascade/app/CascadePowerLED.h> 00142 #include <cascade/app/CascadePowerLEDMessage.h> 00143 #include <cascade/app/CascadePowerMessage.h> 00144 #include <cascade/app/CascadeTimer.h> 00145 #include <cascade/app/CascadeWindow.h> 00146 00148 // CascadeAudioPlaybackDevice- pure virtual base class for audio playback devices 00149 // CascadeMP3Player - easy playback of mp3 files 00150 // CascadeWAVPlayer - easy playback of WAV and AIFF files 00151 // CascadeMPEGFile - class representing an mpeg file and what's inside it 00152 // CascadeMPEGPlayer - easy playback of MPEG files 00153 // CascadeMPEGPlayerMessage - the message type sent by CascadeMPEGPlayer 00154 #include <cascade/av/CascadeAudioPlaybackDevice.h> 00155 #include <cascade/av/CascadeMP3Player.h> 00156 #include <cascade/av/CascadeWAVPlayer.h> 00157 #include <cascade/av/CascadeMPEGFile.h> 00158 #include <cascade/av/CascadeMPEGPlayer.h> 00159 #include <cascade/av/CascadeMPEGPlayerMessage.h> 00160 00162 // CascadeBitmap - represents a bitmap - use these to draw on 00163 // CascadeColor - represents a color in the Cascade graphics system 00164 // CascadeDims - simple 2d dimension with width and height 00165 // CascadeFont - represents a font 00166 // CascadePoint - simple 2d point with x and y 00167 // CascadeRect - represents a rectangle 00168 // CascadeScreen - a special type of bitmap that represents the entire screen 00169 // CascadeScreenMessage - the message that gets sent on screen resolution change 00170 #include <cascade/graphics/CascadeBitmap.h> 00171 #include <cascade/graphics/CascadeColor.h> 00172 #include <cascade/graphics/CascadeDims.h> 00173 #include <cascade/graphics/CascadeFont.h> 00174 #include <cascade/graphics/CascadePoint.h> 00175 #include <cascade/graphics/CascadeRect.h> 00176 #include <cascade/graphics/CascadeScreen.h> 00177 #include <cascade/graphics/CascadeScreenMessage.h> 00178 00180 // CascadeMessage - message class for receiving messages from wormholes 00181 // CascadeMessageDefs - #defines for Cascade library standard messages 00182 // CascadeSemLock - easy to use semlock class 00183 // CascadeSharedList - doubly linked list based on CascadeSharedMemZone 00184 // CascadeSharedMemZone - easy to used shared memory zone class 00185 // CascadeWormhole - used to send data fast between processes and threads 00186 #include <cascade/interprocess/CascadeMessage.h> 00187 #include <cascade/interprocess/CascadeMessageDefs.h> 00188 #include <cascade/interprocess/CascadeSemLock.h> 00189 #include <cascade/interprocess/CascadeSharedList.h> 00190 #include <cascade/interprocess/CascadeSharedMemZone.h> 00191 #include <cascade/interprocess/CascadeWormhole.h> 00192 00194 // CascadeMonitor - easy to use thread monitor class 00195 // CascadeMutex - easy to use mutex class 00196 // CascadeThread - easy to use thread class 00197 #include <cascade/interthread/CascadeMonitor.h> 00198 #include <cascade/interthread/CascadeMutex.h> 00199 #include <cascade/interthread/CascadeThread.h> 00200 00202 // CascadeHTTPClient - easy to use http client class 00203 // CascadeUPnP - easy to use access to upnp services 00204 #include <cascade/net/CascadeHTTPClient.h> 00205 #include <cascade/net/CascadeUPnP.h> 00206 00208 // CascadeArray - an easy to use array class and template array class 00209 // CascadeDirectory - a class representing a directory on disk 00210 // CascadeDirScanner - a class for scanning the contents of directories 00211 // CascadeElapsedTime - a class for computing and reporting the elapsed time 00212 // CascadeFile - easy to use file class 00213 // CascadeSettings - easy to use class for storing persistent variable settings 00214 // CascadeSpawn - class for spawning processes 00215 // CascadeString - easy to use string class 00216 // CascadeTime - represents calendar time 00217 // CascadeTokenArray - an easy to use class for splitting delimited strings into tokens 00218 #include <cascade/util/CascadeArray.h> 00219 #include <cascade/util/CascadeDirectory.h> 00220 #include <cascade/util/CascadeDirScanner.h> 00221 #include <cascade/util/CascadeElapsedTime.h> 00222 #include <cascade/util/CascadeFile.h> 00223 #include <cascade/util/CascadeSettings.h> 00224 #include <cascade/util/CascadeSpawn.h> 00225 #include <cascade/util/CascadeString.h> 00226 #include <cascade/util/CascadeStream.h> 00227 #include <cascade/util/CascadeFileStream.h> 00228 #include <cascade/util/CascadeTime.h> 00229 #include <cascade/util/CascadeTokenArray.h> 00230 #include <cascade/util/CascadeNewArray.h> 00231 #include <cascade/util/CascadeHashTable.h> 00232 00234 // CascadeWidget - base class of widgets (ui controls) in the Cascade library 00235 // CascadeButtonWidget - a button widget that can do text, graphics, or both 00236 // CascadeLabelWidget - a widget that draws text 00237 // CascadePictureWidget - a widget that draws a picture (bitmap) 00238 #include <cascade/widgets/CascadeWidget.h> 00239 #include <cascade/widgets/CascadeButtonWidget.h> 00240 #include <cascade/widgets/CascadeLabelWidget.h> 00241 #include <cascade/widgets/CascadePictureWidget.h> 00242 #include <cascade/widgets/CascadeSpinnerWidget.h> 00243 #include <cascade/widgets/CascadeVesselPanel.h> 00244 00245 #endif // #ifndef _ROKU_INCLUDE_CASCADE_CASCADE_H 00246 00248 // LOG 00250 // 20-Dec-02 dwoodward created 00251 // 20-Jan-03 dwoodward 1.0 STATUS: 100% complete 00252 // 28-Jan-03 dwoodward added CascadeDirScanner and CascadeFile 00253 // 14-Feb-03 dwoodward added CascadeInput and CascadeKeyDefs 00254 // 06-Mar-03 dwoodward added widgets 00255 // 03-Apr-03 dwoodward added doxygen stuff 00256 // 13-May-03 dwoodward added CascadeTokenArray 00257 // 27-May-03 dwoodward added CascadeMountMessage 00258 // 29-May-03 dwoodward added more classes to the doxy description 00259 // 03-Jun-03 dwoodward added CascadeMessageBox 00260 // 25-Jul-03 dwoodward added CascadeSettings 00261 // 30-Jul-03 dwoodward added CascadePowerLED and CascadePowerLEDMessage 00262 // 10-Aug-03 dwoodward added CascadeMP3Player 00263 // 21-Aug-03 dwoodward removed GL stuff 00264 // 03-Sep-03 dwoodward added CascadeElapsedTime 00265 // 10-Sep-03 dwoodward added CascadePowerMessage 00266 // 23-Oct-03 dwoodward added CascadeAppMessageSink and CascadeMPEGPlayer 00267 // 08-Nov-03 dwoodward added CascadeMPEGFile 00268 // 17-Nov-03 dsletten added CascadeWAVPlayer 00269 // 22-Dec-03 dwoodward added CascadeStream and CascadeFileStream 00270 // 07-Dec-04 dwoodward added net/ stuff