cb0d40045a4fdb565bb4e50963038904cd9e608c
[senf.git] / Socket / GenericAddressingPolicy.cti
1 // $Id$
2 //
3 // Copyright (C) 2006 
4 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
5 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
6 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
7 //
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
23 // Definition of inline template functions
24
25 //#include "GenericAddressingPolicy.ih"
26
27 // Custom includes
28
29 #define prefix_ inline
30 ///////////////////////////////cti.p///////////////////////////////////////
31
32 ///////////////////////////////////////////////////////////////////////////
33 // satcom::lib::GenericAddressingPolicy<Address>
34
35 template <class Address>
36 template <class Policy>
37 prefix_ void satcom::lib::GenericAddressingPolicy<Address>::
38 peer(SocketHandle<Policy> handle, Address & addr,
39      typename IfCommunicationPolicyIs<Policy,ConnectedCommunicationPolicy>::type *)
40 {
41     addr.clear();
42     do_peer(handle,addr.sockaddr_p(),addr.sockaddr_len());
43 }
44
45 template <class Address>
46 template <class Policy>
47 prefix_ void satcom::lib::GenericAddressingPolicy<Address>::
48 connect(SocketHandle<Policy> handle, Address const & addr,
49         typename IfCommunicationPolicyIs<Policy,ConnectedCommunicationPolicy>::type *)
50 {
51     do_connect(handle,addr.sockaddr_p(),addr.sockaddr_len());
52 }
53
54 template <class Address>
55 prefix_ void satcom::lib::GenericAddressingPolicy<Address>::local(FileHandle handle,
56                                                                   Address & addr)
57 {
58     addr.clear();
59     do_local(handle,addr.sockaddr_p(),addr.sockaddr_len());
60 }
61
62 template <class Address>
63 prefix_ void satcom::lib::GenericAddressingPolicy<Address>::bind(FileHandle handle,
64                                                                  Address const & addr)
65 {
66     do_bind(handle,addr.sockaddr_p(),addr.sockaddr_len());
67 }
68
69 ///////////////////////////////cti.e///////////////////////////////////////
70 #undef prefix_
71
72 \f
73 // Local Variables:
74 // mode: c++
75 // c-file-style: "satcom"
76 // End: