summaryrefslogtreecommitdiffstats
path: root/conf.d/cmake/00-default-osconfig.cmake
blob: a2b9325c7b7d67b9a014836e943c22d1c4ccfcfc (plain)
1
list(APPEND PKG_REQUIRED_LIST lua>=5.3)
l.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-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 BLUEZ_MANAGER_H
#define BLUEZ_MANAGER_H

#include <glib.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <sys/ioctl.h>

    /* Debug Trace Level */
#define DT_LEVEL_ERROR          (1 << 1)
#define DT_LEVEL_WARNING        (1 << 2)
#define DT_LEVEL_NOTICE         (1 << 3)
#define DT_LEVEL_INFO           (1 << 4)
#define DT_LEVEL_DEBUG          (1 << 5)
//#define _DEBUG 

#define LOGE(fmt, args...)   \
    DebugTraceSendMsg(DT_LEVEL_ERROR, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args))
#define LOGW(fmt, args...)   \
    DebugTraceSendMsg(DT_LEVEL_WARNING, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args))
#define LOGN(fmt, args...)   \
    DebugTraceSendMsg(DT_LEVEL_NOTICE,  g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args))
#define LOGI(fmt, args...)   \
    DebugTraceSendMsg(DT_LEVEL_INFO, g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args))
#define LOGD(fmt, args...)   \
    DebugTraceSendMsg(DT_LEVEL_DEBUG,  g_strdup_printf("[%d:%s]" fmt, __LINE__, __FUNCTION__, ## args))

#ifdef _DEBUG
 #define _DEBUG_PRINT_DBUS
 #define LOCAL_PRINT_DEBUG
#endif

#ifdef LOCAL_PRINT_DEBUG
#define D_PRINTF(fmt, args...) \
	g_print("[DEBUG][%d:%s]"fmt,  __LINE__, __FUNCTION__, ## args)
#define D_PRINTF_RAW(fmt, args...) \
	g_print(""fmt, ## args)
#else
#define D_PRINTF(fmt, args...)
#define D_PRINTF_RAW(fmt, args...)
#endif	/* ifdef _DEBUG */

//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 BLUEZ_MANAGER_PATH          "/"
#define AGENT_PATH                  "/org/bluez"
#define ADAPTER_PATH                "/org/bluez/hci0"
#define OBEX_CLIENT_PATH            "/org/bluez/obex"


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

#define CLIENT_INTERFACE            "org.bluez.obex.Client1"
#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_PLAYER1_INTERFACE     "org.bluez.MediaPlayer1"
#define MEDIA_FOLDER_INTERFACE      "org.bluez.MediaFolder"
#define MEDIA_ITEM_INTERFACE        "org.bluez.MediaItem"
#define MEDIA_TRANSPORT_INTERFACE   "org.bluez.MediaTransport"
#define MEDIA_TRANSPORT1_INTERFACE  "org.bluez.MediaTransport1"
#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 FREEDESKTOP_OBJECTMANAGER   "org.freedesktop.DBus.ObjectManager"

#define HOMESCREEN_SERVICE				"org.agl.homescreen"
#define HOMESCREEN_ICON_INTERFACE		"org.agl.statusbar"
#define HOMESCREEN_ICON_PATH			"/StatusBar"
#define HOMESCREEN_BT_ICON_POSITION		1

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

#define ERROR_BLUEZ_REJECT "org.bluez.Error.Rejected"
#define ERROR_BLUEZ_CANCELED "org.bluez.Error.Canceled"

#define HCIDEVUP        _IOW('H', 201, int)

#define AF_BLUETOOTH    31
#define BTPROTO_HCI     1

#if 0
void DebugTraceSendMsg(int level, gchar* message);
#else

typedef struct _client
{
    GDBusConnection *system_conn;
    GDBusConnection *session_conn;
    GMainLoop *clientloop;
} Client;

//Bluetooth Device Properties
struct btd_device {
    gchar   *path;
    gchar   *bdaddr;
    gchar   *name;
    gchar   *avrcp_title;
    gchar   *avrcp_artist;
    gchar   *avrcp_status;
    gchar   *transport_state;
    guint32 avrcp_duration;
    guint32 avrcp_position;
    guint16 transport_volume;
    gboolean    paired;
    gboolean    trusted;
    gboolean    connected;
    gboolean    avconnected;
    gboolean    hfpconnected;
    GList   *uuids;
};

typedef struct {
    gboolean inited;
    GMutex m;
    gint watch;
    guint autoconnect;
    GSList * device;
    GSList * priorities;
} stBluetoothManage;

typedef struct tagBinding_RegisterCallback
{
    void (*binding_device_added)(struct btd_device *BDdevice);
    void (*binding_device_removed)(struct btd_device *BDdevice);
    void (*binding_device_properties_changed)(struct btd_device *BDdevice);
    gboolean (*binding_request_confirmation)(const gchar *device, guint passkey);
}Binding_RegisterCallback_t;

enum btStates {INACTIVE, ACTIVE};

void DebugTraceSendMsg(int level, gchar* message);

/* ------ PUBLIC PLUGIN FUNCTIONS --------- */
void BindingAPIRegister(const Binding_RegisterCallback_t* pstRegisterCallback);
int BluetoothManagerInit(void);
int BluetoothManagerQuit(void);

GSList* adapter_get_devices_list() ;
void adapter_devices_list_free(GSList* list) ;

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_remove_device(const gchar *addr);
int device_pair(const gchar * addr);
int device_cancelPairing(const gchar * bdaddr);
int device_connect(const gchar *addr, const gchar *uuid);
int device_disconnect(const gchar *addr, const gchar *uuid);
int device_set_property(const gchar * bdaddr, const gchar *property, const gchar *value);
int device_call_avrcp_method(const gchar* device, const gchar* method);
int device_priority_list(void *(object_cb)(void *, gchar *), void *ptr);

int adapter_set_property(const gchar* property, gboolean value) ;

GError* setHMIStatus(enum btStates);

#endif
#endif /* BLUETOOTH_MANAGER_H */


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