scanner: Don't hardcode the wl_ prefix in the code generator
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 18 Apr 2011 14:24:11 +0000 (10:24 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 20 Apr 2011 21:19:52 +0000 (17:19 -0400)
protocol/wayland.xml
wayland/scanner.c
wayland/wayland-client.c

index 90dc763..f853c29 100644 (file)
@@ -3,7 +3,7 @@
 
   <!-- The core global object. This is a special singleton object.
        It is used for internal wayland protocol features. -->
-  <interface name="display" version="1">
+  <interface name="wl_display" version="1">
     <request name="bind">
       <arg name="id" type="uint"/>
       <arg name="interface" type="string"/>
@@ -24,7 +24,7 @@
          animations.  The notification will only be posted for one
          frame unless requested again. -->
     <request name="frame">
-      <arg name="surface" type="object" interface="surface"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
       <arg name="key" type="uint"/>
     </request>
 
@@ -51,7 +51,7 @@
          server will always announce an object before the object sends
          out events. -->
     <event name="global">
-      <arg name="id" type="new_id" interface="object"/>
+      <arg name="id" type="new_id" interface="wl_object"/>
       <arg name="name" type="string"/>
       <arg name="version" type="uint"/>
     </event>
   <!-- A compositor. This object is a global.  The compositor is in
        charge of combining the contents of multiple surfaces into one
        displayable output. -->
-  <interface name="compositor" version="1">
+  <interface name="wl_compositor" version="1">
     <!-- Factory request for a surface objects. A surface is akin to a
          window. -->
     <request name="create_surface">
-      <arg name="id" type="new_id" interface="surface"/>
+      <arg name="id" type="new_id" interface="wl_surface"/>
     </request>
   </interface>
 
 
   <!-- Shared memory support -->
-  <interface name="shm" version="1">
+  <interface name="wl_shm" version="1">
     <!-- Transfer a shm buffer to the server.  The allocated buffer
          would include at least stride * height bytes starting at the
          beginning of fd.  The file descriptor is transferred over the
          and visual describe the respective properties of the pixel
          data contained in the buffer. -->
     <request name="create_buffer">
-      <arg name="id" type="new_id" interface="buffer"/>
+      <arg name="id" type="new_id" interface="wl_buffer"/>
       <arg name="fd" type="fd"/>
       <arg name="width" type="int"/>
       <arg name="height" type="int"/>
       <arg name="stride" type="uint"/>
-      <arg name="visual" type="object" interface="visual"/>
+      <arg name="visual" type="object" interface="wl_visual"/>
     </request>
   </interface>
 
   <!-- A pixel buffer. Created using the drm, shm or similar objects.
        It has a size, visual and contents, but not a location on the
        screen -->
-  <interface name="buffer" version="1">
+  <interface name="wl_buffer" version="1">
     <!-- Abandon a buffer.  This will invalidate the object id. -->
     <request name="destroy" type="destructor"/>
   </interface>
 
-  <interface name="shell" version="1">
+  <interface name="wl_shell" version="1">
     <request name="move">
-      <arg name="surface" type="object" interface="surface"/>
-      <arg name="input_device" type="object" interface="input_device"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="input_device" type="object" interface="wl_input_device"/>
       <arg name="time" type="uint"/>
     </request>
 
     </enum>
 
     <request name="resize">
-      <arg name="surface" type="object" interface="surface"/>
-      <arg name="input_device" type="object" interface="input_device"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="input_device" type="object" interface="wl_input_device"/>
       <arg name="time" type="uint"/>
       <!-- edges is an enum, need to get the values in here -->
       <arg name="edges" type="uint"/>
     </request>
 
     <request name="create_drag">
-      <arg name="id" type="new_id" interface="drag"/>
+      <arg name="id" type="new_id" interface="wl_drag"/>
     </request>
 
     <request name="create_selection">
-      <arg name="id" type="new_id" interface="selection"/>
+      <arg name="id" type="new_id" interface="wl_selection"/>
     </request>
 
     <!-- The configure event asks the client to resize its surface.
     <event name="configure">
       <arg name="time" type="uint"/>
       <arg name="edges" type="uint"/>
-      <arg name="surface" type="object" interface="surface"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
       <arg name="width" type="int"/>
       <arg name="height" type="int"/>
     </event>
   </interface>
 
-  <interface name="selection" version="1">
+  <interface name="wl_selection" version="1">
     <!-- Add an offered mime type.  Can be called several times to
          offer multiple types, but must be called before 'activate'. -->
     <request name="offer">
 
     <!-- Can the selection be activated for multiple devices? -->
     <request name="activate">
-      <arg name="input_device" type="object" interface="input_device"/>
+      <arg name="input_device" type="object" interface="wl_input_device"/>
       <arg name="time" type="uint"/>
     </request>
 
     <event name="cancelled"/>
   </interface>
 
-  <interface name="selection_offer" version="1">
+  <interface name="wl_selection_offer" version="1">
     <!-- Called to receive the selection data as the specified type.
          Sends the pipe fd to the compositor, which forwards it to the
          source in the 'send' event -->
     </event>
 
     <event name="keyboard_focus">
-      <arg name="input_device" type="object" interface="input_device"/>
+      <arg name="input_device" type="object" interface="wl_input_device"/>
     </event>
   </interface>
 
-  <interface name="drag" version="1">
+  <interface name="wl_drag" version="1">
     <!-- Add an offered mime type.  Can be called several times to
          offer multiple types, but must be called before 'activate'. -->
     <request name="offer">
     </request>
 
     <request name="activate">
-      <arg name="surface" type="object" interface="surface"/>
-      <arg name="input_device" type="object" interface="input_device"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="input_device" type="object" interface="wl_input_device"/>
       <arg name="time" type="uint"/>
     </request>
 
   </interface>
 
 
-  <interface name="drag_offer" version="1">
+  <interface name="wl_drag_offer" version="1">
     <!-- Call to accept the offer of the given type -->
     <request name="accept">
       <arg name="time" type="uint"/>
          drag object may no longer be valid. -->
     <event name="pointer_focus">
       <arg name="time" type="uint"/>
-      <arg name="surface" type="object" interface="surface"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
       <arg name="x" type="int"/>
       <arg name="y" type="int"/>
       <arg name="surface_x" type="int"/>
 
   <!-- A surface. This is an image that is displayed on the screen.
        It has a location, size and pixel contents. Similar to a window. -->
-  <interface name="surface" version="1">
+  <interface name="wl_surface" version="1">
     <!-- Deletes the surface and invalidates its object id. -->
     <request name="destroy" type="destructor"/>
 
          arguments specify the location of the new buffers upper left
          corner, relative to the old buffers upper left corner. -->
     <request name="attach">
-      <arg name="buffer" type="object" interface="buffer"/>
+      <arg name="buffer" type="object" interface="wl_buffer"/>
       <arg name="x" type="int"/>
       <arg name="y" type="int"/>
     </request>
          determines the initial position or if the surface is locked
          to that relative position during moves. -->
     <request name="map_transient">
-      <arg name="parent" type="object" interface="surface"/>
+      <arg name="parent" type="object" interface="wl_surface"/>
       <arg name="x" type="int"/>
       <arg name="y" type="int"/>
       <arg name="flags" type="uint"/>
        or when such a device is hot plugged.  A input_device group
        typically has a pointer and maintains a keyboard_focus and a
        pointer_focus.  -->
-  <interface name="input_device" version="1">
+  <interface name="wl_input_device" version="1">
     <!-- Set the pointer's image.  This request only takes effect if
          the pointer focus for this device is one of the requesting
          clients surfaces.  -->
     <request name="attach">
       <arg name="time" type="uint"/>
-      <arg name="buffer" type="object" interface="buffer"/>
+      <arg name="buffer" type="object" interface="wl_buffer"/>
       <arg name="hotspot_x" type="int"/>
       <arg name="hotspot_y" type="int"/>
     </request>
          this event by setting an apropriate pointer image. -->
     <event name="pointer_focus">
       <arg name="time" type="uint"/>
-      <arg name="surface" type="object" interface="surface"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
       <arg name="x" type="int"/>
       <arg name="y" type="int"/>
       <arg name="surface_x" type="int"/>
 
     <event name="keyboard_focus">
       <arg name="time" type="uint"/>
-      <arg name="surface" type="object" interface="surface"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
       <arg name="keys" type="array"/>
     </event>
   </interface>
        displays part of the compositor space.  This object is
        published as global during start up, or when a screen is hot
        plugged.  -->
-  <interface name="output" version="1">
+  <interface name="wl_output" version="1">
     <!-- Notification about the screen size. -->
     <event name="geometry">
       <arg name="x" type="int"/>
   <!-- A visual is the pixel format.  The different visuals are
        currently only identified by the order they are advertised by
        the 'global' events.  We need something better.  -->
-  <interface name="visual" version="1"/>
+  <interface name="wl_visual" version="1"/>
 
 </protocol>
index d05f621..8aae2d6 100644 (file)
@@ -281,7 +281,7 @@ emit_opcodes(struct wl_list *message_list, struct interface *interface)
 
        opcode = 0;
        wl_list_for_each(m, message_list, link)
-               printf("#define WL_%s_%s\t%d\n",
+               printf("#define %s_%s\t%d\n",
                       interface->uppercase_name, m->uppercase_name, opcode++);
 
        printf("\n");
@@ -304,7 +304,7 @@ emit_type(struct arg *a)
                printf("const char *");
                break;
        case OBJECT:
-               printf("struct wl_%s *", a->interface_name);
+               printf("struct %s *", a->interface_name);
                break;
        case ARRAY:
                printf("struct wl_array *");
@@ -320,13 +320,13 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
        int has_destructor, has_destroy;
 
        /* We provide a hand written constructor for the display object */
-       if (strcmp(interface->name, "display") != 0)
-               printf("static inline struct wl_%s *\n"
-                      "wl_%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
+       if (strcmp(interface->name, "wl_display") != 0)
+               printf("static inline struct %s *\n"
+                      "%s_create(struct wl_display *display, uint32_t id, uint32_t version)\n"
                       "{\n"
                       "\twl_display_bind(display, id, \"%s\", version);\n\n"
-                      "\treturn (struct wl_%s *)\n"
-                      "\t\twl_proxy_create_for_id(display, &wl_%s_interface, id);\n"
+                      "\treturn (struct %s *)\n"
+                      "\t\twl_proxy_create_for_id(display, &%s_interface, id);\n"
                       "}\n\n",
                       interface->name,
                       interface->name,
@@ -335,7 +335,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
                       interface->name);
 
        printf("static inline void\n"
-              "wl_%s_set_user_data(struct wl_%s *%s, void *user_data)\n"
+              "%s_set_user_data(struct %s *%s, void *user_data)\n"
               "{\n"
               "\twl_proxy_set_user_data((struct wl_proxy *) %s, user_data);\n"
               "}\n\n",
@@ -343,7 +343,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
               interface->name);
 
        printf("static inline void *\n"
-              "wl_%s_get_user_data(struct wl_%s *%s)\n"
+              "%s_get_user_data(struct %s *%s)\n"
               "{\n"
               "\treturn wl_proxy_get_user_data((struct wl_proxy *) %s);\n"
               "}\n\n",
@@ -367,9 +367,9 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
        }
 
        /* And we have a hand-written display destructor */
-       if (!has_destructor && strcmp(interface->name, "display") != 0)
+       if (!has_destructor && strcmp(interface->name, "wl_display") != 0)
                printf("static inline void\n"
-                      "wl_%s_destroy(struct wl_%s *%s)\n"
+                      "%s_destroy(struct %s *%s)\n"
                       "{\n"
                       "\twl_proxy_destroy("
                       "(struct wl_proxy *) %s);\n"
@@ -388,12 +388,12 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
                }
 
                if (ret)
-                       printf("static inline struct wl_%s *\n",
+                       printf("static inline struct %s *\n",
                               ret->interface_name);
                else
                        printf("static inline void\n");
 
-               printf("wl_%s_%s(struct wl_%s *%s",
+               printf("%s_%s(struct %s *%s",
                       interface->name, m->name,
                       interface->name, interface->name);
 
@@ -411,7 +411,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
                        printf("\tstruct wl_proxy *%s;\n\n"
                               "\t%s = wl_proxy_create("
                               "(struct wl_proxy *) %s,\n"
-                              "\t\t\t     &wl_%s_interface);\n"
+                              "\t\t\t     &%s_interface);\n"
                               "\tif (!%s)\n"
                               "\t\treturn NULL;\n\n",
                               ret->name,
@@ -420,7 +420,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
                               ret->name);
 
                printf("\twl_proxy_marshal((struct wl_proxy *) %s,\n"
-                      "\t\t\t WL_%s_%s",
+                      "\t\t\t %s_%s",
                       interface->name,
                       interface->uppercase_name,
                       m->uppercase_name);
@@ -437,7 +437,7 @@ emit_stubs(struct wl_list *message_list, struct interface *interface)
                               interface->name);
 
                if (ret)
-                       printf("\n\treturn (struct wl_%s *) %s;\n",
+                       printf("\n\treturn (struct %s *) %s;\n",
                               ret->interface_name, ret->name);
 
                printf("}\n\n");
@@ -467,18 +467,18 @@ emit_enumerations(struct interface *interface)
        struct entry *entry;
 
        wl_list_for_each(e, &interface->enumeration_list, link) {
-               printf("#ifndef WL_%s_%s_ENUM\n",
+               printf("#ifndef %s_%s_ENUM\n",
                       interface->uppercase_name, e->uppercase_name);
-               printf("#define WL_%s_%s_ENUM\n",
+               printf("#define %s_%s_ENUM\n",
                       interface->uppercase_name, e->uppercase_name);
-               printf("enum wl_%s_%s {\n", interface->name, e->name);
+               printf("enum %s_%s {\n", interface->name, e->name);
                wl_list_for_each(entry, &e->entry_list, link)
-                       printf("\tWL_%s_%s_%s = %s,\n",
+                       printf("\t%s_%s_%s = %s,\n",
                               interface->uppercase_name,
                               e->uppercase_name,
                               entry->uppercase_name, entry->value);
                printf("};\n");
-               printf("#endif /* WL_%s_%s_ENUM */\n\n",
+               printf("#endif /* %s_%s_ENUM */\n\n",
                       interface->uppercase_name, e->uppercase_name);
        }
 }
@@ -494,7 +494,7 @@ emit_structs(struct wl_list *message_list, struct interface *interface)
                return;
 
        is_interface = message_list == &interface->request_list;
-       printf("struct wl_%s_%s {\n", interface->name,
+       printf("struct %s_%s {\n", interface->name,
               is_interface ? "interface" : "listener");
 
        wl_list_for_each(m, message_list, link) {
@@ -503,12 +503,12 @@ emit_structs(struct wl_list *message_list, struct interface *interface)
                n = strlen(m->name) + 17;
                if (is_interface) {
                        printf("struct wl_client *client,\n"
-                              "%sstruct wl_%s *%s",
+                              "%sstruct %s *%s",
                               indent(n),
                               interface->name, interface->name);
                } else {
                        printf("void *data,\n"),
-                       printf("%sstruct wl_%s *%s",
+                       printf("%sstruct %s *%s",
                               indent(n), interface->name, interface->name);
                }
 
@@ -526,8 +526,8 @@ emit_structs(struct wl_list *message_list, struct interface *interface)
 
        if (!is_interface) {
            printf("static inline int\n"
-                  "wl_%s_add_listener(struct wl_%s *%s,\n"
-                  "%sconst struct wl_%s_listener *listener, void *data)\n"
+                  "%s_add_listener(struct %s *%s,\n"
+                  "%sconst struct %s_listener *listener, void *data)\n"
                   "{\n"
                   "\treturn wl_proxy_add_listener((struct wl_proxy *) %s,\n"
                   "%s(void (**)(void)) listener, data);\n"
@@ -564,12 +564,12 @@ emit_header(struct protocol *protocol, int server)
               protocol->uppercase_name, s);
 
        wl_list_for_each(i, &protocol->interface_list, link)
-               printf("struct wl_%s;\n", i->name);
+               printf("struct %s;\n", i->name);
        printf("\n");
 
        wl_list_for_each(i, &protocol->interface_list, link) {
                printf("extern const struct wl_interface "
-                      "wl_%s_interface;\n",
+                      "%s_interface;\n",
                       i->name);
        }
        printf("\n");
@@ -660,7 +660,7 @@ emit_code(struct protocol *protocol)
                emit_messages(&i->event_list, i, "events");
 
                printf("WL_EXPORT const struct wl_interface "
-                      "wl_%s_interface = {\n"
+                      "%s_interface = {\n"
                       "\t\"%s\", %d,\n",
                       i->name, i->name, i->version);
 
index ff33f9f..531807d 100644 (file)
@@ -290,10 +290,10 @@ display_handle_global(void *data,
        struct wl_global_listener *listener;
        struct wl_global *global;
 
-       if (strcmp(interface, "display") == 0)
+       if (strcmp(interface, "wl_display") == 0)
                wl_hash_table_insert(display->objects,
                                     id, &display->proxy.object);
-       else if (strcmp(interface, "visual") == 0)
+       else if (strcmp(interface, "wl_visual") == 0)
                add_visual(display, id);
 
        global = malloc(sizeof *global);
@@ -456,7 +456,7 @@ wl_display_connect(const char *name)
                return NULL;
        }
 
-       wl_display_bind(display, 1, "display", 1);
+       wl_display_bind(display, 1, "wl_display", 1);
 
        return display;
 }