summaryrefslogtreecommitdiffstats
path: root/.gitreview
blob: 883d5abcb1d49cbfcd2dcb6be7a7b94e9d580bd3 (plain)
1
2
3
4
[gerrit]
host=gerrit.automotivelinux.org
port=29418
project=AGL/meta-agl-demo
t-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*  Copyright 2016 ALPS ELECTRIC CO., LTD.
*
*   Licensed under the Apache License, Version 2.0 (the "License");
*   you may not use this file except in compliance with the License.
*   You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/


#ifndef BLUETOOTH_MANAGER_H
#define BLUETOOTH_MANAGER_H

#include <glib.h>
#include <glib-object.h>
//#include <dbus/dbus.h>
#include <glib.h>
#include <gio/gio.h>
#include <glib-object.h>
//service
#define AGENT_SERVICE               "org.agent"

//remote service
#define BLUEZ_SERVICE               "org.bluez"
#define OFONO_SERVICE               "org.ofono"
#define CLIENT_SERVICE              "org.bluez.obex"

//object path
#define OFONO_MANAGER_PATH          "/"
#define ADAPTER_PATH                "/org/bluez/hci0"
#define OBEX_CLIENT_PATH            "/org/bluez/obex"
#define AGENT_PATH                  "/org/bluez"

//interface
#define ADAPTER_INTERFACE           "org.bluez.Adapter1"
#define DEVICE_INTERFACE            "org.bluez.Device1"
#define AGENT_MANAGER_INTERFACE     "org.bluez.AgentManager"
#define SERVICE_INTERFACE           "org.bluez.Service"
#define AGENT_INTERFACE             "org.bluez.Agent"

#define CLIENT_INTERFACE            "org.bluez.obex.Client"
#define TRANSFER_INTERFACE          "org.bluez.obex.Transfer"
#define SESSION_INTERFACE           "org.bluez.obex.Session"
#define OBEX_ERROR_INTERFACE        "org.bluez.obex.Error"
#define BLUEZ_ERROR_INTERFACE       "org.bluez.Error"
#define PBAP_INTERFACE              "org.bluez.obex.PhonebookAccess"
#define MAP_INTERFACE               "org.bluez.obex.MessageAccess"
#define MAP_MSG_INTERFACE           "org.bluez.obex.Message"

#define MEDIA_PLAYER_INTERFACE      "org.bluez.MediaPlayer"
#define MEDIA_FOLDER_INTERFACE      "org.bluez.MediaFolder"
#define MEDIA_ITEM_INTERFACE        "org.bluez.MediaItem"
#define MEDIA_TRANSPORT_INTERFACE   "org.bluez.MediaTransport"
#define MEDIA_CONTROL1_INTERFACE   "org.bluez.MediaControl1"


#define OFONO_HANDSFREE_INTERFACE               "org.ofono.Handsfree"
#define OFONO_MANAGER_INTERFACE                 "org.ofono.Manager"
#define OFONO_MODEM_INTERFACE                   "org.ofono.Modem"
#define OFONO_VOICECALL_INTERFACE               "org.ofono.VoiceCall"
#define OFONO_VOICECALL_MANAGER_INTERFACE       "org.ofono.VoiceCallManager"
#define OFONO_NETWORK_REGISTRATION_INTERFACE    "org.ofono.NetworkRegistration"
#define OFONO_NETWORK_OPERATOR_INTERFACE        "org.ofono.NetworkOperator"
#define OFONO_CALL_VOLUME_INTERFACE             "org.ofono.CallVolume"

#define FREEDESKTOP_INTROSPECT      "org.freedesktop.DBus.Introspectable"
#define FREEDESKTOP_PROPERTIES      "org.freedesktop.DBus.Properties"


#define CONVERTER_CONN              (cli.sys_conn)
#define AGENT_CONN                  (cli.agent_conn)
#define OBEX_CONN                   (cli.obex_conn)

#define DBUS_REPLY_TIMEOUT (120 * 1000)
#define DBUS_REPLY_TIMEOUT_SHORT (10 * 1000)

//typedef void(*callback)(void);
typedef void(*callback)(int password_rejected_flag);
void register_callback(callback ptr);


typedef struct _client
{
    GDBusConnection *sys_conn;
    GDBusConnection *agent_conn;
    GDBusConnection *obex_conn;
    GMainLoop *clientloop;
//    FILE *fd;
//    int conn_fd;
} Client;

//Bluetooth Device Properties
struct btd_device {
    gchar   *bdaddr;
    gchar   *path;
    gchar   *name;
    gboolean    paired;
    gboolean    trusted;
    gboolean    blocked;
    gboolean    connected;
    gboolean    avconnected;
    gboolean    hfpconnected;
    GSList        *uuids;
};

typedef struct {
    gboolean inited;
    GMutex m;
    GSList * device;
} stBluetoothManage;

int BluetoothManageInit(void);

int adapter_set_powered(gboolean value);
int adapter_get_powered(gboolean *value);
int adapter_set_discoverable(gboolean value);
int adapter_start_discovery();
int adapter_stop_discovery();
int adapter_update_devices();
GSList* adapter_get_devices_list();
int adapter_remove_device(struct btd_device * addr);
int device_pair(struct btd_device * addr);
int device_cancelPairing(struct btd_device * addr);
int device_connect(struct btd_device * addr);
//int device_connectProfile();
int device_disconnect(struct btd_device * addr);
//int device_disconnectProfile();
int device_set_property(struct btd_device * addr, const char *property, const char *value);

int isAVPConnected(struct btd_device *BDdevice);
int isHFPConnected(struct btd_device *BDdevice);

#endif /* BLUETOOTH_MANAGER_H */


/************************************** The End Of File **************************************/