pbm: setup generation of the PBM service support

Only 'Indication Register' message for now.
This commit is contained in:
Aleksander Morgado 2013-07-01 11:05:10 +02:00
parent 4bc0798c3e
commit a212dfe758
9 changed files with 149 additions and 9 deletions

View File

@ -76,8 +76,8 @@ def add_header_start(f, output_name, service):
else:
template += (
"#include \"qmi-enums-private.h\"\n")
# CTL, WDS, WMS and PDS don't have flags64
if service != 'CTL' and service != 'WDS' and service != 'WMS' and service != 'PDS':
# CTL, WDS, WMS, PDS and PBM don't have flags64
if service != 'CTL' and service != 'WDS' and service != 'WMS' and service != 'PDS' and service != 'PBM':
template += (
"#include \"qmi-flags64-${service}.h\"\n")
template += (

36
data/qmi-service-pbm.json Normal file
View File

@ -0,0 +1,36 @@
[
// *********************************************************************************
{ "name" : "PBM",
"type" : "Service" },
// *********************************************************************************
{ "name" : "QMI Client PBM",
"type" : "Client" },
// *********************************************************************************
{ "name" : "QMI Message PBM",
"type" : "Message-ID-Enum" },
// *********************************************************************************
{ "name" : "Indication Register",
"type" : "Message",
"service" : "PBM",
"id" : "0x0001",
"version" : "1.0",
"input" : [ { "name" : "Event Registration Mask",
"id" : "0x01",
"mandatory" : "yes",
"type" : "TLV",
"format" : "guint32",
"public-format" : "QmiPbmEventRegistrationFlag" } ],
"output" : [ { "common-ref" : "Operation Result" },
{ "name" : "Event Registration Mask",
"id" : "0x10",
"mandatory" : "no",
"type" : "TLV",
"format" : "guint32",
"public-format" : "QmiPbmEventRegistrationFlag",
"prerequisites" : [ { "common-ref" : "Success" } ] } ] }
]

View File

@ -12,7 +12,8 @@ ALL_SECTIONS = \
$(top_builddir)/libqmi-glib/generated/qmi-nas.sections \
$(top_builddir)/libqmi-glib/generated/qmi-wds.sections \
$(top_builddir)/libqmi-glib/generated/qmi-wms.sections \
$(top_builddir)/libqmi-glib/generated/qmi-pds.sections
$(top_builddir)/libqmi-glib/generated/qmi-pds.sections \
$(top_builddir)/libqmi-glib/generated/qmi-pbm.sections
$(DOC_MODULE)-sections.mstamp: $(ALL_SECTIONS)
$(AM_V_GEN) \

View File

@ -624,6 +624,18 @@ qmi_pds_position_session_status_get_type
qmi_pds_tracking_session_state_get_type
</SECTION>
<SECTION>
<FILE>qmi-enums-pbm</FILE>
QmiPbmEventRegistrationFlag
<SUBSECTION Methods>
qmi_pbm_event_registration_flag_build_string_from_mask
<SUBSECTION Private>
qmi_pbm_event_registration_flag_get_string
<SUBSECTION Standard>
QMI_TYPE_PBM_EVENT_REGISTRATION_FLAG
qmi_pbm_event_registration_flag_get_type
</SECTION>
<SECTION>
<FILE>qmi-errors</FILE>
QmiCoreError

View File

@ -206,6 +206,16 @@
</section>
</chapter>
<chapter>
<title>Phonebook Management Service (PBM)</title>
<xi:include href="xml/qmi-client-pbm.xml"/>
<xi:include href="xml/qmi-enums-pbm.xml"/>
<section>
<title>PDS Requests</title>
<xi:include href="xml/qmi-message-pbm-indication-register.xml"/>
</section>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>

View File

@ -23,6 +23,7 @@ libqmi_glib_la_SOURCES = \
qmi-enums-nas.h qmi-flags64-nas.h\
qmi-enums-wms.h \
qmi-enums-pds.h \
qmi-enums-pbm.h \
qmi-enums.h qmi-enums-private.h \
qmi-utils.h qmi-utils.c \
qmi-message.h qmi-message.c \
@ -48,6 +49,7 @@ include_HEADERS = \
qmi-enums-nas.h qmi-flags64-nas.h \
qmi-enums-wms.h \
qmi-enums-pds.h \
qmi-enums-pbm.h \
qmi-utils.h \
qmi-message.h \
qmi-device.h \

View File

@ -11,7 +11,8 @@ GENERATED_H = \
qmi-nas.h \
qmi-wds.h \
qmi-wms.h \
qmi-pds.h
qmi-pds.h \
qmi-pbm.h
GENERATED_C = \
qmi-error-types.c \
@ -24,7 +25,8 @@ GENERATED_C = \
qmi-nas.c \
qmi-wds.c \
qmi-wms.c \
qmi-pds.c
qmi-pds.c \
qmi-pbm.c
GENERATED_SECTIONS = \
qmi-ctl.sections \
@ -32,7 +34,8 @@ GENERATED_SECTIONS = \
qmi-nas.sections \
qmi-wds.sections \
qmi-wms.sections \
qmi-pds.sections
qmi-pds.sections \
qmi-pbm.sections
# Error types
qmi-error-types.h: $(top_srcdir)/libqmi-glib/qmi-errors.h $(top_srcdir)/build-aux/templates/qmi-error-types-template.h
@ -61,10 +64,11 @@ ENUMS = \
$(top_srcdir)/libqmi-glib/qmi-enums-dms.h \
$(top_srcdir)/libqmi-glib/qmi-enums-nas.h \
$(top_srcdir)/libqmi-glib/qmi-enums-wms.h \
$(top_srcdir)/libqmi-glib/qmi-enums-pds.h
$(top_srcdir)/libqmi-glib/qmi-enums-pds.h \
$(top_srcdir)/libqmi-glib/qmi-enums-pbm.h
qmi-enum-types.h: $(ENUMS) $(top_srcdir)/build-aux/templates/qmi-enum-types-template.h
$(AM_V_GEN) $(GLIB_MKENUMS) \
--fhead "#ifndef __LIBQMI_GLIB_ENUM_TYPES_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_H__\n#include \"qmi-enums.h\"\n#include \"qmi-enums-wds.h\"\n#include \"qmi-enums-dms.h\"\n#include \"qmi-enums-nas.h\"\n#include \"qmi-enums-wms.h\"\n#include \"qmi-enums-pds.h\"\n" \
--fhead "#ifndef __LIBQMI_GLIB_ENUM_TYPES_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_H__\n#include \"qmi-enums.h\"\n#include \"qmi-enums-wds.h\"\n#include \"qmi-enums-dms.h\"\n#include \"qmi-enums-nas.h\"\n#include \"qmi-enums-wms.h\"\n#include \"qmi-enums-pds.h\"\n#include \"qmi-enums-pbm.h\"\n" \
--template $(top_srcdir)/build-aux/templates/qmi-enum-types-template.h \
--ftail "#endif /* __LIBQMI_GLIB_ENUM_TYPES_H__ */\n" \
$(ENUMS) > $@
@ -166,6 +170,16 @@ qmi-pds.h qmi-pds.c qmi-pds.sections: $(top_srcdir)/data/qmi-service-pds.json $(
--include $(top_srcdir)/data/qmi-common.json \
--output qmi-pds
# PBM service
qmi-pbm.h qmi-pbm.c qmi-pbm.sections: $(top_srcdir)/data/qmi-service-pbm.json $(top_srcdir)/build-aux/qmi-codegen/*.py $(top_srcdir)/build-aux/qmi-codegen/qmi-codegen
$(AM_V_GEN) \
rm -f qmi-pbm.h && \
rm -f qmi-pbm.c && \
$(top_srcdir)/build-aux/qmi-codegen/qmi-codegen \
--input $(top_srcdir)/data/qmi-service-pbm.json \
--include $(top_srcdir)/data/qmi-common.json \
--output qmi-pbm
BUILT_SOURCES = $(GENERATED_H) $(GENERATED_C)
nodist_libqmi_glib_generated_la_SOURCES = \
@ -193,6 +207,7 @@ nodist_include_HEADERS = \
qmi-nas.h \
qmi-wds.h \
qmi-wms.h \
qmi-pds.h
qmi-pds.h \
qmi-pbm.h
CLEANFILES = $(GENERATED_H) $(GENERATED_C) $(GENERATED_SECTIONS)

View File

@ -52,6 +52,9 @@
#include "qmi-enums-pds.h"
#include "qmi-pds.h"
#include "qmi-enums-pbm.h"
#include "qmi-pbm.h"
/* generated */
#include "qmi-error-types.h"
#include "qmi-enum-types.h"

View File

@ -0,0 +1,61 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* libqmi-glib -- GLib/GIO based library to control QMI devices
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
* Copyright (C) 2012 Google Inc.
*/
#ifndef _LIBQMI_GLIB_QMI_ENUMS_PBM_H_
#define _LIBQMI_GLIB_QMI_ENUMS_PBM_H_
#if !defined (__LIBQMI_GLIB_H_INSIDE__) && !defined (LIBQMI_GLIB_COMPILATION)
#error "Only <libqmi-glib.h> can be included directly."
#endif
/**
* SECTION: qmi-enums-pbm
* @title: PBM enumerations and flags
*
* This section defines enumerations and flags used in the PBM service
* interface.
*/
/*****************************************************************************/
/* Helper enums for the 'QMI PBM Indication Register' indication */
/**
* QmiPbmEventRegistrationFlag:
* @QMI_PBM_EVENT_REGISTRATION_FLAG_RECORD_UPDATE: Request indications when records are added/edited/deleted.
* @QMI_PBM_EVENT_REGISTRATION_FLAG_PHONEBOOK_READY: Request indications when phonebooks are ready.
* @QMI_PBM_EVENT_REGISTRATION_FLAG_EMERGENCY_NUMBER_LIST: Request indications when emergency numbers are changed.
* @QMI_PBM_EVENT_REGISTRATION_FLAG_HIDDEN_RECORD_STATUS: Request indications when hidden record status is changed.
* @QMI_PBM_EVENT_REGISTRATION_FLAG_AAS_UPDATE: Request indications when Additional number Alpha String records are added/edited/deleted.
* @QMI_PBM_EVENT_REGISTRATION_FLAG_GAS_UPDATE: Request indications when Grouping information Alpha String records are added/edited/deleted.
*
* Flags to use to register to phonebook indications.
*/
typedef enum {
QMI_PBM_EVENT_REGISTRATION_FLAG_RECORD_UPDATE = 1 << 0,
QMI_PBM_EVENT_REGISTRATION_FLAG_PHONEBOOK_READY = 1 << 1,
QMI_PBM_EVENT_REGISTRATION_FLAG_EMERGENCY_NUMBER_LIST = 1 << 2,
QMI_PBM_EVENT_REGISTRATION_FLAG_HIDDEN_RECORD_STATUS = 1 << 3,
QMI_PBM_EVENT_REGISTRATION_FLAG_AAS_UPDATE = 1 << 4,
QMI_PBM_EVENT_REGISTRATION_FLAG_GAS_UPDATE = 1 << 5,
} QmiPbmEventRegistrationFlag;
#endif /* _LIBQMI_GLIB_QMI_ENUMS_PBM_H_ */