AminetAminet
Search:
84782 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/c/ASAP.lha

Mirror:Random
Showing: ppc-morphos icongeneric icon
No screenshot available
Short:ASAP - Amiga Software Authoring Platform
Author: hfx at fox.nstn.ca
Uploader:hfx fox nstn ca
Type:dev/c
Version:1.0b beta
Architecture:m68k-amigaos
Date:1998-06-15
Requires:One of Storm or SAS or GNU C++
Replaces:dev/c/ASAP.lha
Download:dev/c/ASAP.lha - View contents
Readme:dev/c/ASAP.readme
Downloads:705

Update: June 12th '98:

      Sorry for the delay, working :)

      Added ObtainGIRPort to the ARastPort class (oops!)
      Also added operator new and delete to ARastPort which
      calls ObtainGIRPort and ReleaseGIRPort.

      Made the AFileLock and AFileHandle classes inherit privately
      from the AmigaDOS structures because they are BPTRs, not APTRs.
      I could have overloaded operator -> and * to handle conversion
      between APTR and BPTR, but there is no good reason to do so.

      This is still a beta because I'm not sure what to do with
      the files I've named with a trailing underscore.

      Thanks to Matt Sergeant for testing ASAP with gcc and instructions
      for compiling the lines demo with gcc.

      Now that we know AmigaDOS 4 is going to be a developer release,
      I'll be looking into encapsulating it with ASAP. My initial feeling
      is that ASAP should help insulate you from API changes.

What: Zero overhead, inlined C++ wrapper classes for the Amiga API.
      A collection of 90 header files, each having one class which derive
      from the corresponding Amiga system structure, adding no data members,
      only inlined methods which call the corresponding global prototype
      substituting the 'this' pointer for the structure pointer.

Why: I'm a C++ programmer, and I think in terms of objects. The Amiga API
     is a "flat" API. It helps me, and I hope many of you, to categorize these
     functions into "classes" or "categories". Many of you may be concerned about
     overhead using these. See below, there is absolutely *no* overhead. There are
     several benefits, including fewer bugs, such as CloseWindow(pNotAWindow); Also,
     if you want to work with a Window, or RastPort, for instance, you needn't worry
     about what include's you need, just:
       
     #include <ASAP/Window.h>
     #include <ASAP/RastPort.h>

How: A tool called ClassBuilder which I wrote for this purpose.

When: Part time work started in late January.

How it works: Firstly, there is no run time overhead when your compiler allows
              inline optimization. In effect, these are a lot of #define's. As far
              as storage is concerned, these classes *are* the Amiga structures.
              You can treat these classes 100% as if they were the Amiga structures,
              because ultimately, they are.

              Consider a structure, "Structure". There are some functions
              which operate upon it, for example OpenStructure(Structure *) and
              CloseStructure(Structure *). To simplify this for the beginner and
              those who grow tired of typing, I write the following code:

              class AStructure : public Structure
              {
               public:
               void Open() { ::OpenStructure(this); }
               void Close() { ::CloseStructure(this); }
              }; 

              Now the instance is tied to its methods, and there is less typing.
              Also, I have overloaded operator new and delete where desirable.
              Now you can create/destroy a window as follows:

              AWindow *pThis_Window = new(&The_NewWindow) AWindow;
              delete pThis_Window;
            
              instead of:

              struct Window *pThis_Window = OpenWindow(&The_NewWindow); 
              CloseWindow(pThis_Window);

Updates: These have all been compiled, but there might be one or two
         logic errors (perhaps in the more obscure classes).

         Additional version of the collection with abbreviated names for
         those who do not mind aliases for the Amiga API functions.

         eg. pThis_Window->Zip(); // instead of pThis_Window->ZipWindow();

         Also, default parameters, where the OS defines special parameter
         values or they are otherwise meaningful, must be added.
         This is coming next.

Future:  This collection is fairly comprehensive, but not complete. I'm relying
         on you for feedback. Also, this is just phase I. I've got some nice code
         built on top of this to allow simple, dynamic IDCMP/Boopsi event handling
         (dispatching) which I hope to release some time this summer.

Installation:

	Decompress the archive wherever you wish.

	SAS/C: Move the ASAP classes directory into your
	       cxxinclude directory (sc:cxxinclude)

	Storm C: Put the ASAP class directory wherever you want,
                 only make certain the directory is in your
                 include path.

	The files should be reachable as follows:
	
	#include <ASAP/HeaderName.h>

Important:

Note that I have wrappers for the wizard.library and msql.library also.
Thanks to Christophe Sollet for the msql.library, and also to everyone
who has written with encouraging comments.

Please, please email me if you have any problems or suggestions/complaints.
I want to hear from you! :)


Contents of dev/c/ASAP.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 2306    5246  44.0% -lh5- e152 Nov 30 00:18 Asap/ASAP.readme
[generic]                  788    6229  12.7% -lh5- 1475 Sep  8 12:55 Asap/ASAP/AmigaGuideContext_.h
[generic]                  284     947  30.0% -lh5- 7c0a Jun 16 07:28 Asap/ASAP/AmigaGuideHost.h
[generic]                  305    1366  22.3% -lh5- de73 Sep  8 12:56 Asap/ASAP/AmigaGuideMsg.h
[generic]                  320    1427  22.4% -lh5- 3034 Sep  8 14:00 Asap/ASAP/AnchorPath.h
[generic]                  419    1964  21.3% -lh5- e8db Sep  8 14:01 Asap/ASAP/AnimOb.h
[generic]                  542    3359  16.1% -lh5- 2bd9 Sep  8 14:02 Asap/ASAP/AppIcon.h
[generic]                  510    3119  16.4% -lh5- 6f7a Sep  8 14:03 Asap/ASAP/AppMenuItem.h
[generic]                  511    3225  15.8% -lh5- fc5e Sep  8 14:00 Asap/ASAP/AppWindow.h
[generic]                  285    1142  25.0% -lh5- ec36 Sep  8 14:01 Asap/ASAP/AreaInfo.h
[generic]                  434    2119  20.5% -lh5- 93db Sep  8 14:02 Asap/ASAP/argstring_.h
[generic]                  512    3076  16.6% -lh5- c282 Sep 19 23:09 Asap/ASAP/AslRequest.h
[generic]                  699    4184  16.7% -lh5- 237f Sep  8 13:58 Asap/ASAP/BitMap.h
[generic]                  265    1107  23.9% -lh5- 7da1 Sep  8 16:08 Asap/ASAP/BitScaleArgs_.h
[generic]                  304    1306  23.3% -lh5- a380 Sep  8 14:04 Asap/ASAP/Bob.h
[generic]                  324    1239  26.2% -lh5- 30e6 Sep  8 16:16 Asap/ASAP/BootNode_.h
[generic]                  795    4629  17.2% -lh5- 47a7 Sep  8 14:05 Asap/ASAP/CardHandle.h
[generic]                  512    2833  18.1% -lh5- e3fe Sep  8 14:06 Asap/ASAP/Catalog.h
[generic]                  284    1241  22.9% -lh5- 9799 Sep  8 14:07 Asap/ASAP/ClockData.h
[generic]                  869    5228  16.6% -lh5- 8a8b Sep  8 14:07 Asap/ASAP/ColorMap.h
[generic]                  455    2382  19.1% -lh5- 9fe7 Sep  8 14:09 Asap/ASAP/ConfigDev_.h
[generic]                  336    1665  20.2% -lh5- 95e1 Sep  8 14:12 Asap/ASAP/ContextNode.h
[generic]                  396    1808  21.9% -lh5- 78b9 Sep  8 14:23 Asap/ASAP/CopList.h
[generic]                  326    1471  22.2% -lh5- 1c0a Sep  8 16:34 Asap/ASAP/CurrentBinding_.h
[generic]                  412    2024  20.4% -lh5- 2ede Sep  8 15:48 Asap/ASAP/CxMsg.h
[generic]                  932    5270  17.7% -lh5- 2149 Sep  8 15:38 Asap/ASAP/CxObj.h
[generic]                  307    1325  23.2% -lh5- 247f Sep  8 15:53 Asap/ASAP/DateStamp.h
[generic]                  277    1224  22.6% -lh5- b037 Sep  8 15:55 Asap/ASAP/DateTime.h
[generic]                  384    1765  21.8% -lh5- 76fe Sep  8 15:57 Asap/ASAP/DBufInfo.h
[generic]                  276    1227  22.5% -lh5- 1ff3 Sep  8 16:02 Asap/ASAP/Device.h
[generic]                  361    1441  25.1% -lh5- ed92 Sep  8 16:23 Asap/ASAP/DeviceNode_.h
[generic]                  380    1765  21.5% -lh5- 34df Sep  8 16:25 Asap/ASAP/DevProc.h
[generic]                  492    2746  17.9% -lh5- f417 Sep  8 16:40 Asap/ASAP/DiskObject.h
[generic]                  503    2931  17.2% -lh5- a044 Sep  8 16:43 Asap/ASAP/DosList_.h
[generic]                  387    1741  22.2% -lh5- 9959 Sep  8 16:56 Asap/ASAP/DosPacket.h
[generic]                  313    1381  22.7% -lh5- 62cc Sep  8 16:59 Asap/ASAP/DrawInfo.h
[generic]                 1032    7905  13.1% -lh5- d2a3 Sep  8 18:08 Asap/ASAP/DTObject.h
[generic]                  291    1275  22.8% -lh5- b595 Sep  8 18:11 Asap/ASAP/EClockVal.h
[generic]                 1329    8731  15.2% -lh5- 691e Nov 30 23:37 Asap/ASAP/FileHandle.h
[generic]                  824    5158  16.0% -lh5- 7a07 Nov 30 23:37 Asap/ASAP/FileLock.h
[generic]                  396    1909  20.7% -lh5- eb0e Sep 19 22:27 Asap/ASAP/FileRequester.h
[generic]                  413    2066  20.0% -lh5- 296a Sep  8 18:41 Asap/ASAP/FontContentsHeader.h
[generic]                  311    1300  23.9% -lh5- e50f Sep  8 18:45 Asap/ASAP/FreeList_.h
[generic]                 1000    7364  13.6% -lh5- b351 Sep  8 19:00 Asap/ASAP/Gadget.h
[generic]                  387    1635  23.7% -lh5- 0f85 Sep  9 03:18 Asap/ASAP/Hook.h
[generic]                  574    3380  17.0% -lh5- c722 Sep 12 00:07 Asap/ASAP/IClass.h
[generic]                 1194    8641  13.8% -lh5- 5dc7 Sep  9 22:01 Asap/ASAP/IFFHandle.h
[generic]                  275    1086  25.3% -lh5- 9de1 Sep  9 22:03 Asap/ASAP/Image.h
[generic]                  662    3126  21.2% -lh5- 93fb Sep 19 19:13 Asap/ASAP/InputEvent_.h
[generic]                  417    2308  18.1% -lh5- bd9c Sep  9 22:22 Asap/ASAP/Interrupt.h
[generic]                  338    1725  19.6% -lh5- 75da Oct  9 12:43 Asap/ASAP/IntuiMessage.h
[generic]                  260    1084  24.0% -lh5- fcea Sep  1 17:08 Asap/ASAP/IntuiText.h
[generic]                  555    3031  18.3% -lh5- 5d95 Sep  9 03:19 Asap/ASAP/IORequest.h
[generic]                  400    1785  22.4% -lh5- 8c5f Sep  9 03:19 Asap/ASAP/IOStdReq.h
[generic]                  299    1241  24.1% -lh5- c27a Sep  9 03:20 Asap/ASAP/Isrvstr.h
[generic]                  296    1277  23.2% -lh5- 63b2 Sep  9 22:49 Asap/ASAP/KeyMap.h
[generic]                  901    5775  15.6% -lh5- 7a00 Sep  9 22:58 Asap/ASAP/Layer.h
[generic]                  589    3496  16.8% -lh5- 8114 Sep  9 23:00 Asap/ASAP/Layer_Info.h
[generic]                  712    4812  14.8% -lh5- 2897 Sep 25 15:46 Asap/ASAP/Library.h
[generic]                  490    2494  19.6% -lh5- f988 Sep  9 23:08 Asap/ASAP/LocalContextItem.h
[generic]                  333    1410  23.6% -lh5- 42eb Sep  9 23:12 Asap/ASAP/MemHeader.h
[generic]                  435    2003  21.7% -lh5- ea61 Sep  9 23:15 Asap/ASAP/MemList_.h
[generic]                  590    3168  18.6% -lh5- 9ec9 Sep  9 23:26 Asap/ASAP/Menu.h
[generic]                  339    1513  22.4% -lh5- b893 Sep  9 23:27 Asap/ASAP/MenuItem.h
[generic]                  262    1067  24.6% -lh5- 427e Oct  9 13:21 Asap/ASAP/Message.h
[generic]                  432    1981  21.8% -lh5- fbfd Sep  9 23:34 Asap/ASAP/MonitorSpec.h
[generic]                  682    3791  18.0% -lh5- 4fee Sep  9 03:20 Asap/ASAP/MsgPort.h
[generic]                  287    1255  22.9% -lh5- e974 Sep  4 01:10 Asap/ASAP/NotifyRequest.h
[generic]                  563    2989  18.8% -lh5- a650 Sep  9 23:44 Asap/ASAP/NVData_.h
[generic]                  409    1782  23.0% -lh5- 113e Sep  9 23:49 Asap/ASAP/NVInfo_.h
[generic]                 1040    7157  14.5% -lh5- f086 Sep  9 03:21 Asap/ASAP/Object.h
[generic]                  327    1645  19.9% -lh5- 7fcb Sep  9 01:08 Asap/ASAP/Preferences.h
[generic]                  426    2040  20.9% -lh5- a682 Sep  9 01:10 Asap/ASAP/Process.h
[generic]                 2418   17619  13.7% -lh5- 0df3 Oct 27 01:09 Asap/ASAP/RastPort.h
[generic]                  416    1904  21.8% -lh5- 7d5b Sep  9 01:23 Asap/ASAP/RDArgs.h
[generic]                  299    1307  22.9% -lh5- 634e Sep  9 01:24 Asap/ASAP/RecordLock_.h
[generic]                  551    3488  15.8% -lh5- 0438 Sep  9 01:26 Asap/ASAP/Region.h
[generic]                  319    1481  21.5% -lh5- 4820 Sep  4 03:04 Asap/ASAP/Requester.h
[generic]                  331    1384  23.9% -lh5- 3195 Sep  9 01:31 Asap/ASAP/Resident.h
[generic]                  521    2596  20.1% -lh5- b730 Sep  9 01:33 Asap/ASAP/RexxMsg.h
[generic]                  906    5517  16.4% -lh5- 450d Sep  9 01:39 Asap/ASAP/Screen.h
[generic]                  516    3223  16.0% -lh5- 6b12 Sep  9 01:42 Asap/ASAP/SignalSemaphore.h
[generic]                  323    1305  24.8% -lh5- 96ce Sep  9 01:57 Asap/ASAP/SimpleSprite.h
[generic]                  467    2184  21.4% -lh5- 53f1 Sep 20 02:44 Asap/ASAP/Task.h
[generic]                  350    1503  23.3% -lh5- c5ea Sep  9 02:02 Asap/ASAP/TextAttr.h
[generic]                  619    3350  18.5% -lh5- 0929 Sep  9 02:04 Asap/ASAP/TextFont.h
[generic]                  287    1141  25.2% -lh5- 45dc Sep  9 02:07 Asap/ASAP/TmpRas.h
[generic]                  331    1452  22.8% -lh5- 8811 Sep  9 02:09 Asap/ASAP/UCopList_.h
[generic]                  355    1812  19.6% -lh5- 756e Sep  9 02:12 Asap/ASAP/Unit_.h
[generic]                  352    1554  22.7% -lh5- 656b Sep  9 02:13 Asap/ASAP/View.h
[generic]                  848    4773  17.8% -lh5- 3afa Sep  9 02:15 Asap/ASAP/ViewPort.h
[generic]                  474    2481  19.1% -lh5- 5570 Sep  9 02:34 Asap/ASAP/VisualInfo.h
[generic]                  365    1695  21.5% -lh5- c6d0 Sep  9 02:38 Asap/ASAP/VSprite.h
[generic]                 2240   15022  14.9% -lh5- 39e7 Oct 31 20:38 Asap/ASAP/Window.h
[generic]                 1332    8738  15.2% -lh5- 8adf Nov 30 23:40 Asap/CHANGES/FileHandle.old
[generic]                  827    5165  16.0% -lh5- 6bc4 Nov 30 23:39 Asap/CHANGES/FileLock.old
[generic]                  662    3133  21.1% -lh5- f84a Sep 19 19:12 Asap/CHANGES/InputEvent.old
[generic]                  318    1548  20.5% -lh5- 6830 Oct  9 07:02 Asap/CHANGES/IntuiMessage.old
[generic]                  267    1079  24.7% -lh5- b456 Oct  9 07:02 Asap/CHANGES/Message.old
[generic]                 2263   16920  13.4% -lh5- a6df Sep  9 01:21 Asap/CHANGES/RastPort.old
[generic]                  430    1876  22.9% -lh5- c4f0 Sep  5 10:46 Asap/CHANGES/Task.old
[generic]                 2246   15019  15.0% -lh5- 0db5 Oct  3 02:44 Asap/CHANGES/Window.old
[generic]                 2796    4284  65.3% -lh5- 6674 Oct  9 13:49 Asap/Lines/LINES
[generic]                 1213    3370  36.0% -lh5- d908 Oct  9 13:49 Asap/Lines/LINES.C
[generic]                  144     215  67.0% -lh5- efff Nov 30 23:52 Asap/Lines/readme.txt
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total       105 files   63661  339695  18.7%            Jun 15  1998
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>