OSDN Git Service

core: Add default PBAP Server service record
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 16 Nov 2012 13:37:29 +0000 (15:37 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 16 Nov 2012 13:37:29 +0000 (15:37 +0200)
src/profile.c

index ae73ccc..7d56edc 100644 (file)
                </attribute>                                            \
        </record>"
 
+#define PSE_RECORD                                                     \
+       "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>                    \
+       <record>                                                        \
+               <attribute id=\"0x0001\">                               \
+                       <sequence>                                      \
+                               <uuid value=\"0x112f\" />               \
+                       </sequence>                                     \
+               </attribute>                                            \
+               <attribute id=\"0x0004\">                               \
+                       <sequence>                                      \
+                               <sequence>                              \
+                                       <uuid value=\"0x0100\" />       \
+                               </sequence>                             \
+                               <sequence>                              \
+                                       <uuid value=\"0x0003\" />       \
+                                       <uint8 value=\"0x%02x\" />      \
+                               </sequence>                             \
+                               <sequence>                              \
+                                       <uuid value=\"0x0008\"/>        \
+                               </sequence>                             \
+                       </sequence>                                     \
+               </attribute>                                            \
+               <attribute id=\"0x0005\">                               \
+                       <sequence>                                      \
+                               <uuid value=\"0x1002\" />               \
+                       </sequence>                                     \
+               </attribute>                                            \
+               <attribute id=\"0x0009\">                               \
+                       <sequence>                                      \
+                               <sequence>                              \
+                                       <uuid value=\"0x1130\" />       \
+                                       <uint16 value=\"0x%04x\" />     \
+                               </sequence>                             \
+                       </sequence>                                     \
+               </attribute>                                            \
+               <attribute id=\"0x0100\">                               \
+                       <text value=\"%s\" />                           \
+               </attribute>                                            \
+               <attribute id=\"0x0314\">                               \
+                       <uint8 value=\"0x01\"/>                         \
+               </attribute>                                            \
+       </record>"
+
 struct ext_io;
 
 struct ext_profile {
@@ -1397,6 +1440,13 @@ static char *get_pce_record(struct ext_profile *ext, struct ext_io *l2cap,
        return g_strdup_printf(PCE_RECORD, ext->version, ext->name);
 }
 
+static char *get_pse_record(struct ext_profile *ext, struct ext_io *l2cap,
+                                                       struct ext_io *rfcomm)
+{
+       return g_strdup_printf(PSE_RECORD, rfcomm->chan, ext->version,
+                                                               ext->name);
+}
+
 static char *get_opp_record(struct ext_profile *ext, struct ext_io *l2cap,
                                                        struct ext_io *rfcomm)
 {
@@ -1498,6 +1548,8 @@ static struct default_settings {
                .uuid           = OBEX_PSE_UUID,
                .name           = "Phone Book Access",
                .channel        = PBAP_DEFAULT_CHANNEL,
+               .get_record     = get_pse_record,
+               .version        = 0x0101,
        }, {
                .uuid           = OBEX_PCE_UUID,
                .name           = "Phone Book Access Client",