[Gd-chatter] r10881 - in trunk/libraries: id3v2 packetizer

hannes at gwydiondylan.org hannes at gwydiondylan.org
Sat Sep 2 21:58:13 CEST 2006


Author: hannes
Date: Sat Sep  2 21:58:11 2006
New Revision: 10881

Modified:
   trunk/libraries/id3v2/id3v2.dylan
   trunk/libraries/packetizer/ieee80211.dylan
   trunk/libraries/packetizer/protocol-definer-macro.dylan
Log:
Bug: 7299
*support for empty subclasses of <container-frame> via the protocol-definer-macro

Modified: trunk/libraries/id3v2/id3v2.dylan
==============================================================================
--- trunk/libraries/id3v2/id3v2.dylan	(original)
+++ trunk/libraries/id3v2/id3v2.dylan	Sat Sep  2 21:58:11 2006
@@ -33,13 +33,7 @@
   end;
 end;
 
-define class <id3v2-string> (<container-frame>)
-end;
-
-define class <unparsed-id3v2-string> (<id3v2-string>, <unparsed-container-frame>)
-end;
-
-define class <decoded-id3v2-string> (<id3v2-string>, <decoded-container-frame>)
+define protocol id3v2-string (container-frame)
 end;
 
 define protocol id3v2-string-with-type (id3v2-string)

Modified: trunk/libraries/packetizer/ieee80211.dylan
==============================================================================
--- trunk/libraries/packetizer/ieee80211.dylan	(original)
+++ trunk/libraries/packetizer/ieee80211.dylan	Sat Sep  2 21:58:11 2006
@@ -294,7 +294,7 @@
 end;
 
 // ieee80211 control frames
-define protocol ieee80211-control-frame(container-frame)
+define protocol ieee80211-control-frame (container-frame)
 end;
 
 define protocol ieee80211-request-to-send (ieee80211-control-frame)

Modified: trunk/libraries/packetizer/protocol-definer-macro.dylan
==============================================================================
--- trunk/libraries/packetizer/protocol-definer-macro.dylan	(original)
+++ trunk/libraries/packetizer/protocol-definer-macro.dylan	Sat Sep  2 21:58:11 2006
@@ -393,6 +393,13 @@
       { summary-generator("<" ## ?name ## ">"; ?summary);
         define protocol ?name (?superprotocol) ?fields end; }
 
+    { define protocol ?:name (container-frame) end } =>
+      { define abstract class "<" ## ?name ## ">" (<container-frame>) end;
+        define abstract class "<decoded-" ## ?name ## ">"
+         ("<" ## ?name ## ">", <decoded-container-frame>)
+        end;
+        gen-classes(?name; container-frame); }
+
     { define protocol ?:name (?superprotocol:name)
         ?fields:*
       end } =>



More information about the chatter mailing list