]> git.decadent.org.uk Git - videolink.git/commitdiff
Added debugging of state changes so I can work out what goes wrong with it.
authorBen Hutchings <ben@decadent.org.uk>
Thu, 15 Dec 2005 00:48:06 +0000 (00:48 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 2 Nov 2008 23:19:48 +0000 (23:19 +0000)
webdvd.cpp

index cf71bb61843abc64a455ed3db46fd045a036ad16..ceefb7804d446614ce69676bb8e6bbc05982aca7 100644 (file)
@@ -244,6 +244,45 @@ namespace
     void WebDvdWindow::on_net_state_change(const char * uri,
                                           gint flags, guint status)
     {
+#       ifdef DEBUG_ON_NET_STATE_CHANGE
+       std::cout << "WebDvdWindow::on_net_state_change(";
+       if (uri)
+           std::cout << '"' << uri << '"';
+       else
+           std::cout << "NULL";
+       std::cout << ", ";
+       {
+           gint flags_left = flags;
+           static const struct {
+               gint value;
+               const char * name;
+           } flag_names[] = {
+               { GTK_MOZ_EMBED_FLAG_START, "STATE_START" },
+               { GTK_MOZ_EMBED_FLAG_REDIRECTING, "STATE_REDIRECTING" },
+               { GTK_MOZ_EMBED_FLAG_TRANSFERRING, "STATE_TRANSFERRING" },
+               { GTK_MOZ_EMBED_FLAG_NEGOTIATING, "STATE_NEGOTIATING" },
+               { GTK_MOZ_EMBED_FLAG_STOP, "STATE_STOP" },
+               { GTK_MOZ_EMBED_FLAG_IS_REQUEST, "STATE_IS_REQUEST" },
+               { GTK_MOZ_EMBED_FLAG_IS_DOCUMENT, "STATE_IS_DOCUMENT" },
+               { GTK_MOZ_EMBED_FLAG_IS_NETWORK, "STATE_IS_NETWORK" },
+               { GTK_MOZ_EMBED_FLAG_IS_WINDOW, "STATE_IS_WINDOW" }
+           };
+           for (int i = 0; i != sizeof(flag_names)/sizeof(flag_names[0]); ++i)
+           {
+               if (flags & flag_names[i].value)
+               {
+                   std::cout << flag_names[i].name;
+                   flags_left -= flag_names[i].value;
+                   if (flags_left)
+                       std::cout << " | ";
+               }
+           }
+           if (flags_left)
+               std::cout << "0x" << std::setbase(16) << flags_left;
+       }
+       std::cout << ", " << "0x" << std::setbase(16) << status << ")\n";
+#       endif // DEBUG_ON_NET_STATE_CHANGE
+
        if (flags & GTK_MOZ_EMBED_FLAG_IS_REQUEST)
        {
            if (flags & GTK_MOZ_EMBED_FLAG_START)