Mbed OS Reference
Loading...
Searching...
No Matches
MeshInterface.h
1/*
2 * Copyright (c) 2015 ARM Limited
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/* @file MeshInterface.h Mesh network interface */
19/** \addtogroup netinterface */
20/** @{*/
21
22#ifndef MESH_INTERFACE_H
23#define MESH_INTERFACE_H
24
26
27
28/** Common interface that is shared between mesh hardware
29 */
30class MeshInterface : public virtual NetworkInterface {
31public:
32 /** @copydoc NetworkInterface::meshInterface
33 */
35 {
36 return this;
37 }
38
39 /** Get the default Mesh interface.
40 *
41 * This is provided as a weak method so applications can override.
42 * Default behavior is to get the target's default interface, if
43 * any.
44 *
45 * @return pointer to interface, if any.
46 */
48
49#if !defined(DOXYGEN_ONLY)
50protected:
51
52 /** Get the target's default Mesh interface.
53 *
54 * This is provided as a weak method so targets can override. The
55 * default implementation will invoke LoWPANNDInterface or ThreadInterface
56 * with the default NanostackRfPhy.
57 *
58 * @return pointer to interface, if any.
59 */
60 static MeshInterface *get_target_default_instance();
61#endif //!defined(DOXYGEN_ONLY)
62};
63
64
65#endif
66
67/** @}*/
Network Interface base class.
Common interface that is shared between mesh hardware.
Definition: MeshInterface.h:30
static MeshInterface * get_default_instance()
Get the default Mesh interface.
MeshInterface * meshInterface() final
Return pointer to a MeshInterface.
Definition: MeshInterface.h:34
Common interface that is shared between network devices.