// $Id: ConnectedRawINetSocketHandle.hh 597 2008-01-15 09:16:20Z g0dil $
//
-// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// David Wagner <dw6@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#ifndef CONNECTEDRAWINETSOCKETHANDLE_HH_
-#define CONNECTEDRAWINETSOCKETHANDLE_HH_
+#ifndef CONNECTEDHH_SENF_Socket_Protocols_INet_RawINetSocketHandle_
+#define CONNECTEDHH_SENF_Socket_Protocols_INet_RawINetSocketHandle_
// Custom includes
-#include "INetProtocol.hh"
-#include "RawINetProtocol.hh"
+#include "INetSocketProtocol.hh"
+#include "RawINetSocketProtocol.hh"
#include "../../../Socket/Protocols/BSDSocketProtocol.hh"
+#include "../../../Socket/Protocols/DatagramSocketProtocol.hh"
#include "../../../Socket/FramingPolicy.hh"
#include "../../../Socket/CommunicationPolicy.hh"
#include "../../../Socket/ReadWritePolicy.hh"
\par Policy Interface:
ClientSocketHandle::read(), ClientSocketHandle::write(), ClientSocketHandle::bind(),
- ClientSocketHandle::local(), ClientSocketHandle::connect(), ClientSocketHandle::peer(),
- ClientSocketHandle::rcvbuf(), ClientSocketHandle::sndbuf()
+ ClientSocketHandle::local(), ClientSocketHandle::connect(), ClientSocketHandle::peer()
\par Address Type:
- INet4Address
+ INet4SocketAddress
ConnectedRawV4SocketProtocol provides an internet protocol raw socket based on IPv4 addressing.
This socket will put data written to it onto the IPv4 layer: if you call writeto don't inlude the header!
\see RawV6SocketProtocol
*/
class ConnectedRawV4SocketProtocol
- : public ConcreteSocketProtocol<ConnectedRawV4Socket_Policy>,
- public IPv4Protocol,
- public RawINetProtocol,
+ : public ConcreteSocketProtocol<ConnectedRawV4Socket_Policy, ConnectedRawV4SocketProtocol>,
+ public RawINetSocketProtocol,
public BSDSocketProtocol,
- public AddressableBSDSocketProtocol//,
-// public senf::pool_alloc_mixin<RawV4Socket_Policy>
+ public DatagramSocketProtocol,
+ public AddressableBSDSocketProtocol
{
public:
///////////////////////////////////////////////////////////////////////////
\param[in] address local address to connect to */
///@}
- ///\name Abstract Interface Implementation
-
- std::auto_ptr<SocketProtocol> clone() const;
-
- ///@}
};
typedef ProtocolClientSocketHandle<ConnectedRawV4SocketProtocol> ConnectedRawV4ClientSocketHandle;
\par Policy Interface:
ClientSocketHandle::read(), ClientSocketHandle::write(), ClientSocketHandle::bind(),
- ClientSocketHandle::local(), ClientSocketHandle::connect(), ClientSocketHandle::peer(),
- ClientSocketHandle::rcvbuf(), ClientSocketHandle::sndbuf()
-
+ ClientSocketHandle::local(), ClientSocketHandle::connect(), ClientSocketHandle::peer()
+
\par Address Type:
INet6Address
\see RawV6SocketProtocol
*/
class ConnectedRawV6SocketProtocol
- : public ConcreteSocketProtocol<ConnectedRawV6Socket_Policy>,
- public IPv6Protocol,
- public RawINetProtocol,
+ : public ConcreteSocketProtocol<ConnectedRawV6Socket_Policy, ConnectedRawV6SocketProtocol>,
+ public RawINetSocketProtocol,
public BSDSocketProtocol,
- public AddressableBSDSocketProtocol//,
-// public senf::pool_alloc_mixin<RawV6SocketProtocol>
+ public DatagramSocketProtocol,
+ public AddressableBSDSocketProtocol
{
public:
///////////////////////////////////////////////////////////////////////////
constructor (??) */
///@}
- ///\name Abstract Interface Implementation
-
- std::auto_ptr<SocketProtocol> clone() const;
-
- ///@}
};
typedef ProtocolClientSocketHandle<ConnectedRawV6SocketProtocol> ConnectedRawV6ClientSocketHandle;
}
-#endif /*CONNECTEDRAWINETSOCKETHANDLE_HH_*/
+#endif /*CONNECTEDHH_SENF_Socket_Protocols_INet_RawINetSocketHandle_*/