IoTivity C++ SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RCSAddress.h
Go to the documentation of this file.
1 //******************************************************************
2 //
3 // Copyright 2015 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 // http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 
26 #ifndef OIC_SERVICE_RCSADDRESS_H
27 #define OIC_SERVICE_RCSADDRESS_H
28 
29 #include <string>
30 #include <memory>
31 
32 namespace OIC
33 {
34  namespace Service
35  {
36  class RCSAddressDetail;
37 
43  class RCSAddress
44  {
45  public:
50  static RCSAddress multicast();
51 
57  static RCSAddress unicast(const std::string& address);
58 
62  static RCSAddress unicast(std::string&& address);
63 
64  private:
65  RCSAddress(const std::shared_ptr< RCSAddressDetail >&);
66 
67  private:
68  std::shared_ptr< RCSAddressDetail > m_detail;
69 
70  friend class RCSAddressDetail;
71  };
72  }
73 }
74 
75 #endif // OIC_SERVICE_RCSADDRESS_H
static RCSAddress multicast()
Factory method for multicast.
friend class RCSAddressDetail
Definition: RCSAddress.h:70
static RCSAddress unicast(const std::string &address)
Factory method for unicast.
This is to specify a target address to discover.
Definition: RCSAddress.h:43