Rtos API example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CellularInterface.h Source File

CellularInterface.h

00001 /* CellularInterface
00002  * Copyright (c) 2015 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef CELLULAR_INTERFACE_H
00018 #define CELLULAR_INTERFACE_H
00019 
00020 #include "netsocket/NetworkInterface.h"
00021 
00022 
00023 /** CellularInterface class
00024  *
00025  *  Common interface that is shared between ethernet hardware
00026  *  @addtogroup netsocket
00027  */
00028 class CellularInterface : public NetworkInterface
00029 {
00030 public:
00031     /** CellularInterface lifetime
00032      */
00033     virtual ~CellularInterface() {};
00034 
00035     /** Set the cellular network APN and credentials
00036      *
00037      *  @param apn      Optional name of the network to connect to
00038      *  @param username Optional username for the APN
00039      *  @param password Optional password fot the APN
00040      *  @return         0 on success, negative error code on failure
00041      */
00042     virtual nsapi_error_t set_credentials(const char *apn,
00043             const char *username = 0, const char *password = 0) = 0;
00044 
00045     /** Start the interface
00046      *
00047      *  @param apn      Optional name of the network to connect to
00048      *  @param username Optional username for your APN
00049      *  @param password Optional password for your APN
00050      *  @return         0 on success, negative error code on failure
00051      */
00052     virtual nsapi_error_t connect(const char *apn,
00053             const char *username = 0, const char *password = 0) = 0;
00054 
00055     /** Start the interface
00056      *
00057      *  Attempts to connect to a cellular network based on supplied credentials
00058      *
00059      *  @return         0 on success, negative error code on failure
00060      */
00061     virtual nsapi_error_t connect() = 0;
00062 
00063     /** Stop the interface
00064      *
00065      *  @return         0 on success, negative error code on failure
00066      */
00067     virtual nsapi_error_t disconnect() = 0;
00068 };
00069 
00070 
00071 #endif