set keyword-property
[senf.git] / Packets / Mainpage.dox
index 0855250..166c6f0 100644 (file)
@@ -35,7 +35,7 @@
 
     \code
     senf::EthernetPacket eth      (senf::EthernetPacket::create());
-    senf::IpV4Packet     ip       (senf::IpV4Packet    ::createAfter(ethernet));
+    senf::IPv4Packet     ip       (senf::IPv4Packet    ::createAfter(ethernet));
     senf::UDPPacket      udp      (senf::UDPPacket     ::createAfter(ip));
     senf::DataPacket     payload  (senf::DataPacket    ::createAfter(udp, 
                                                                      std::string("Hello, world!")));
     udp->source()      = 2000u;
     udp->destination() = 2001u;
     ip->ttl()          = 255u;
-    ip->source()       = senf::INet4Address("192.168.0.1"); // (*)
-    ip->destination()  = senf::INet4Address("192.168.0.2"); // (*)
-    eth->source()      = senf::MACAddress("00:11:22:33:44:55");
-    eth->destination() = senf::MACAddress("00:11:22:33:44:66");
+    ip->source()       = senf::INet4Address::from_string("192.168.0.1");
+    ip->destination()  = senf::INet4Address::from_string("192.168.0.2");
+    eth->source()      = senf::MACAddress::from_string("00:11:22:33:44:55");
+    eth->destination() = senf::MACAddress::from_string("00:11:22:33:44:66");
     
-    eth.finalize(); // (*)
+    eth.finalize();
     \endcode
 
     As seen above, packet fields are accessed using the <tt>-></tt> operator whereas other packet
@@ -80,7 +80,7 @@
 
     \code
     eth.next() == ip;                   // true
-    eth.next().is<IpV4Packet>();        // true
+    eth.next().is<IPv4Packet>();        // true
     eth.next().next() == udp;           // true
     eth.next().is<UDPPacket>();         // false
     eth.next<UDPPacket>() == udp;       // true
@@ -88,7 +88,7 @@
     udp.next<UDPPacket>();              // throws InvalidPacketChainException
     udp.next<UDPPacket>(senf::nothrow); // a senf::Packet testing as false
     udp.findNext<UDPPacket()> == udp;   // true
-    udp.first<IpV4Packet>() == ip;      // true
+    udp.first<IPv4Packet>() == ip;      // true
 
     udp.prev() == ip;                   // true
     udp.prev<EthernetPacket>() == eth   // true
 
     \li <a href="../../DefaultBundle/doc/html/index.html">DefaultBundle</a>: Some basic
         default protocols: Ethernet, Ip, TCP, UDP
-    \li <a href="../../MPEG_DVBBundle/doc/html/index.html">MPEG_DVBBundle</a>: MPEG and DVB
+    \li <a href="../../MPEGDVBBundle/doc/html/index.html">MPEGDVBBundle</a>: MPEG and DVB
         protocols
+
+    There are two ways to link with a bundle
+    
+    \li If you only work with known packets which you explicitly reference you may just link with
+        the corresponding library.
+    \li If you need to parse unknown packets and want those to be parsed as complete as possible
+        without explicitly referencing the packet type, you will need to link against the combined
+        object file built for every bundle. This way, all packets defined in the bundle will be
+        included whether they are explicitly referenced or not (and they will all automatically be
+        registered).
  */
 
 \f