[libsoup/wip/nielsdg/g-param-static-strings] Always use G_PARAM_STATIC_STRINGS



commit a02f2db700a5b4c1bcde01115a96d2e40dd565e1
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Tue Jan 7 08:19:35 2020 +0100

    Always use G_PARAM_STATIC_STRINGS
    
    This prevents some unnecessary string copies and a tiny bit of memory.

 libsoup/soup-address.c                | 18 ++++++---
 libsoup/soup-auth-domain-basic.c      |  6 ++-
 libsoup/soup-auth-domain-digest.c     |  6 ++-
 libsoup/soup-auth-domain.c            | 24 ++++++++----
 libsoup/soup-auth.c                   | 15 +++++---
 libsoup/soup-body-input-stream.c      |  4 +-
 libsoup/soup-body-output-stream.c     |  6 ++-
 libsoup/soup-cache.c                  |  6 ++-
 libsoup/soup-client-input-stream.c    |  3 +-
 libsoup/soup-connection.c             | 12 ++++--
 libsoup/soup-content-sniffer-stream.c |  4 +-
 libsoup/soup-cookie-jar-db.c          |  3 +-
 libsoup/soup-cookie-jar-text.c        |  3 +-
 libsoup/soup-cookie-jar.c             |  6 ++-
 libsoup/soup-hsts-enforcer-db.c       |  3 +-
 libsoup/soup-io-stream.c              |  6 ++-
 libsoup/soup-logger.c                 |  6 ++-
 libsoup/soup-message.c                | 51 +++++++++++++++++---------
 libsoup/soup-multipart-input-stream.c |  3 +-
 libsoup/soup-proxy-resolver-default.c |  3 +-
 libsoup/soup-request.c                |  6 ++-
 libsoup/soup-server.c                 | 23 +++++++-----
 libsoup/soup-session.c                | 69 +++++++++++++++++++++++------------
 libsoup/soup-socket.c                 | 54 ++++++++++++++++++---------
 24 files changed, 224 insertions(+), 116 deletions(-)
---
diff --git a/libsoup/soup-address.c b/libsoup/soup-address.c
index 53d3b61d..5d66710f 100644
--- a/libsoup/soup-address.c
+++ b/libsoup/soup-address.c
@@ -268,7 +268,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                                     "Name",
                                     "Hostname for this address",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_ADDRESS_FAMILY:
         *
@@ -282,7 +283,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                                   "Address family for this address",
                                   SOUP_TYPE_ADDRESS_FAMILY,
                                   SOUP_ADDRESS_FAMILY_INVALID,
-                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                  G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_ADDRESS_PORT:
         *
@@ -295,7 +297,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                                  "Port",
                                  "Port for this address",
                                  -1, 65535, -1,
-                                 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                 G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_ADDRESS_PROTOCOL:
         *
@@ -308,7 +311,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                                     "Protocol",
                                     "URI scheme for this address",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_ADDRESS_PHYSICAL:
         *
@@ -321,7 +325,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                                     "Physical address",
                                     "IP address for this address",
                                     NULL,
-                                    G_PARAM_READABLE));
+                                    G_PARAM_READABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_ADDRESS_SOCKADDR:
         *
@@ -333,7 +338,8 @@ soup_address_class_init (SoupAddressClass *address_class)
                g_param_spec_pointer (SOUP_ADDRESS_SOCKADDR,
                                      "sockaddr",
                                      "struct sockaddr for this address",
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-auth-domain-basic.c b/libsoup/soup-auth-domain-basic.c
index 97a65cce..e15f37f3 100644
--- a/libsoup/soup-auth-domain-basic.c
+++ b/libsoup/soup-auth-domain-basic.c
@@ -321,7 +321,8 @@ soup_auth_domain_basic_class_init (SoupAuthDomainBasicClass *basic_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK,
                                      "Authentication callback",
                                      "Password-checking callback",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA:
         *
@@ -338,5 +339,6 @@ soup_auth_domain_basic_class_init (SoupAuthDomainBasicClass *basic_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA,
                                      "Authentication callback data",
                                      "Data to pass to authentication callback",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
 }
diff --git a/libsoup/soup-auth-domain-digest.c b/libsoup/soup-auth-domain-digest.c
index 9e3a1213..b69b5829 100644
--- a/libsoup/soup-auth-domain-digest.c
+++ b/libsoup/soup-auth-domain-digest.c
@@ -427,7 +427,8 @@ soup_auth_domain_digest_class_init (SoupAuthDomainDigestClass *digest_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK,
                                      "Authentication callback",
                                      "Password-finding callback",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA:
         *
@@ -444,5 +445,6 @@ soup_auth_domain_digest_class_init (SoupAuthDomainDigestClass *digest_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA,
                                      "Authentication callback data",
                                      "Data to pass to authentication callback",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
 }
diff --git a/libsoup/soup-auth-domain.c b/libsoup/soup-auth-domain.c
index 8a55e67a..8785c474 100644
--- a/libsoup/soup-auth-domain.c
+++ b/libsoup/soup-auth-domain.c
@@ -196,7 +196,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                                     "Realm",
                                     "The realm of this auth domain",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_PROXY:
         *
@@ -209,7 +210,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                                      "Proxy",
                                      "Whether or not this is a proxy auth domain",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_ADD_PATH:
         *
@@ -222,7 +224,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                                     "Add a path",
                                     "Add a path covered by this auth domain",
                                     NULL,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_REMOVE_PATH:
         *
@@ -235,7 +238,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                                     "Remove a path",
                                     "Remove a path covered by this auth domain",
                                     NULL,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_FILTER:
         *
@@ -252,7 +256,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_FILTER,
                                      "Filter",
                                      "A filter for deciding whether or not to require authentication",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_FILTER_DATA:
         *
@@ -269,7 +274,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_FILTER_DATA,
                                      "Filter data",
                                      "Data to pass to filter",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK:
         *
@@ -281,7 +287,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK,
                                      "Generic authentication callback",
                                      "An authentication callback that can be used with any SoupAuthDomain 
subclass",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA:
         *
@@ -293,7 +300,8 @@ soup_auth_domain_class_init (SoupAuthDomainClass *auth_domain_class)
                g_param_spec_pointer (SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA,
                                      "Authentication callback data",
                                      "Data to pass to auth callback",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c
index 7abf6e1b..1896aab7 100644
--- a/libsoup/soup-auth.c
+++ b/libsoup/soup-auth.c
@@ -154,7 +154,8 @@ soup_auth_class_init (SoupAuthClass *auth_class)
                                     "Scheme name",
                                     "Authentication scheme name",
                                     NULL,
-                                    G_PARAM_READABLE));
+                                    G_PARAM_READABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_REALM:
         *
@@ -167,7 +168,8 @@ soup_auth_class_init (SoupAuthClass *auth_class)
                                     "Realm",
                                     "Authentication realm",
                                     NULL,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_HOST:
         *
@@ -180,7 +182,8 @@ soup_auth_class_init (SoupAuthClass *auth_class)
                                     "Host",
                                     "Authentication host",
                                     NULL,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_IS_FOR_PROXY:
         *
@@ -193,7 +196,8 @@ soup_auth_class_init (SoupAuthClass *auth_class)
                                      "For Proxy",
                                      "Whether or not the auth is for a proxy server",
                                      FALSE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_AUTH_IS_AUTHENTICATED:
         *
@@ -206,7 +210,8 @@ soup_auth_class_init (SoupAuthClass *auth_class)
                                      "Authenticated",
                                      "Whether or not the auth is authenticated",
                                      FALSE,
-                                     G_PARAM_READABLE));
+                                     G_PARAM_READABLE |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-body-input-stream.c b/libsoup/soup-body-input-stream.c
index 32ad074d..6b958847 100644
--- a/libsoup/soup-body-input-stream.c
+++ b/libsoup/soup-body-input-stream.c
@@ -391,14 +391,14 @@ soup_body_input_stream_class_init (SoupBodyInputStreamClass *stream_class)
                                   "Message body encoding",
                                   SOUP_TYPE_ENCODING,
                                   SOUP_ENCODING_NONE,
-                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_CONTENT_LENGTH,
                g_param_spec_int64 ("content-length",
                                    "Content-Length",
                                    "Message body Content-Length",
                                    -1, G_MAXINT64, -1,
-                                   G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+                                   G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-body-output-stream.c b/libsoup/soup-body-output-stream.c
index 58e9b3ee..7ba59dca 100644
--- a/libsoup/soup-body-output-stream.c
+++ b/libsoup/soup-body-output-stream.c
@@ -307,14 +307,16 @@ soup_body_output_stream_class_init (SoupBodyOutputStreamClass *stream_class)
                                   "Message body encoding",
                                   SOUP_TYPE_ENCODING,
                                   SOUP_ENCODING_NONE,
-                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                  G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_CONTENT_LENGTH,
                g_param_spec_uint64 ("content-length",
                                     "Content-Length",
                                     "Message body Content-Length",
                                     0, G_MAXUINT64, 0,
-                                    G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c
index a7c66b97..5d480244 100644
--- a/libsoup/soup-cache.c
+++ b/libsoup/soup-cache.c
@@ -1008,7 +1008,8 @@ soup_cache_class_init (SoupCacheClass *cache_class)
                                                              "Cache directory",
                                                              "The directory to store the cache files",
                                                              NULL,
-                                                             G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                                             G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                                             G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (gobject_class, PROP_CACHE_TYPE,
                                         g_param_spec_enum ("cache-type",
@@ -1016,7 +1017,8 @@ soup_cache_class_init (SoupCacheClass *cache_class)
                                                            "Whether the cache is private or shared",
                                                            SOUP_TYPE_CACHE_TYPE,
                                                            SOUP_CACHE_SINGLE_USER,
-                                                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                                           G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                                           G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-client-input-stream.c b/libsoup/soup-client-input-stream.c
index c305dd84..e73ec9e6 100644
--- a/libsoup/soup-client-input-stream.c
+++ b/libsoup/soup-client-input-stream.c
@@ -238,7 +238,8 @@ soup_client_input_stream_class_init (SoupClientInputStreamClass *stream_class)
                                     "Message",
                                     "Message",
                                     SOUP_TYPE_MESSAGE,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-connection.c b/libsoup/soup-connection.c
index 0db54d51..1b9a4fee 100644
--- a/libsoup/soup-connection.c
+++ b/libsoup/soup-connection.c
@@ -179,27 +179,31 @@ soup_connection_class_init (SoupConnectionClass *connection_class)
                                    "Remote URI",
                                    "The URI of the HTTP server",
                                    SOUP_TYPE_URI,
-                                   G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                   G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                   G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_SOCKET_PROPERTIES,
                g_param_spec_boxed (SOUP_CONNECTION_SOCKET_PROPERTIES,
                                    "Socket properties",
                                    "Socket properties",
                                    SOUP_TYPE_SOCKET_PROPERTIES,
-                                   G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                   G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                   G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_STATE,
                g_param_spec_enum (SOUP_CONNECTION_STATE,
                                   "Connection state",
                                   "Current state of connection",
                                   SOUP_TYPE_CONNECTION_STATE, SOUP_CONNECTION_NEW,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_SSL,
                g_param_spec_boolean (SOUP_CONNECTION_SSL,
                                      "Connection uses TLS",
                                      "Whether the connection should use TLS",
-                                     FALSE, G_PARAM_READWRITE));
+                                     FALSE,G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-content-sniffer-stream.c b/libsoup/soup-content-sniffer-stream.c
index 7f74c705..f1ed6a1d 100644
--- a/libsoup/soup-content-sniffer-stream.c
+++ b/libsoup/soup-content-sniffer-stream.c
@@ -314,14 +314,14 @@ soup_content_sniffer_stream_class_init (SoupContentSnifferStreamClass *sniffer_c
                                     "Sniffer",
                                     "The stream's SoupContentSniffer",
                                     SOUP_TYPE_CONTENT_SNIFFER,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_MESSAGE,
                g_param_spec_object ("message",
                                     "Message",
                                     "The stream's SoupMessage",
                                     SOUP_TYPE_MESSAGE,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-cookie-jar-db.c b/libsoup/soup-cookie-jar-db.c
index 0274038d..32f791ff 100644
--- a/libsoup/soup-cookie-jar-db.c
+++ b/libsoup/soup-cookie-jar-db.c
@@ -329,5 +329,6 @@ soup_cookie_jar_db_class_init (SoupCookieJarDBClass *db_class)
                                     "Filename",
                                     "Cookie-storage filename",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 }
diff --git a/libsoup/soup-cookie-jar-text.c b/libsoup/soup-cookie-jar-text.c
index 46e12e54..38cafdf5 100644
--- a/libsoup/soup-cookie-jar-text.c
+++ b/libsoup/soup-cookie-jar-text.c
@@ -356,5 +356,6 @@ soup_cookie_jar_text_class_init (SoupCookieJarTextClass *text_class)
                                     "Filename",
                                     "Cookie-storage filename",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 }
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
index 82513c3e..675f87c8 100644
--- a/libsoup/soup-cookie-jar.c
+++ b/libsoup/soup-cookie-jar.c
@@ -192,7 +192,8 @@ soup_cookie_jar_class_init (SoupCookieJarClass *jar_class)
                                      "Read-only",
                                      "Whether or not the cookie jar is read-only",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_COOKIE_JAR_ACCEPT_POLICY:
@@ -215,7 +216,8 @@ soup_cookie_jar_class_init (SoupCookieJarClass *jar_class)
                                   "The policy the jar should follow to accept or reject cookies",
                                   SOUP_TYPE_COOKIE_JAR_ACCEPT_POLICY,
                                   SOUP_COOKIE_JAR_ACCEPT_ALWAYS,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-hsts-enforcer-db.c b/libsoup/soup-hsts-enforcer-db.c
index 8771707f..bad688a0 100644
--- a/libsoup/soup-hsts-enforcer-db.c
+++ b/libsoup/soup-hsts-enforcer-db.c
@@ -333,5 +333,6 @@ soup_hsts_enforcer_db_class_init (SoupHSTSEnforcerDBClass *db_class)
                                     "Filename",
                                     "HSTS policy storage filename",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 }
diff --git a/libsoup/soup-io-stream.c b/libsoup/soup-io-stream.c
index 1c07262d..8daca38d 100644
--- a/libsoup/soup-io-stream.c
+++ b/libsoup/soup-io-stream.c
@@ -197,7 +197,8 @@ soup_io_stream_class_init (SoupIOStreamClass *stream_class)
                                     "Base GIOStream",
                                     G_TYPE_IO_STREAM,
                                     G_PARAM_READWRITE |
-                                    G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_CLOSE_ON_DISPOSE,
                g_param_spec_boolean ("close-on-dispose",
@@ -205,7 +206,8 @@ soup_io_stream_class_init (SoupIOStreamClass *stream_class)
                                      "Close base GIOStream when closing",
                                      TRUE,
                                      G_PARAM_READWRITE |
-                                     G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 GIOStream *
diff --git a/libsoup/soup-logger.c b/libsoup/soup-logger.c
index 261ec8dd..73d8278c 100644
--- a/libsoup/soup-logger.c
+++ b/libsoup/soup-logger.c
@@ -232,7 +232,8 @@ soup_logger_class_init (SoupLoggerClass *logger_class)
                                    "The level of logging output",
                                    SOUP_TYPE_LOGGER_LOG_LEVEL,
                                    SOUP_LOGGER_LOG_MINIMAL,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupLogger:max-body-size:
@@ -258,7 +259,8 @@ soup_logger_class_init (SoupLoggerClass *logger_class)
                                    -1,
                                    G_MAXINT,
                                    -1,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index f61f58c2..90ccefe9 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -698,7 +698,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                     "Method",
                                     "The message's HTTP method",
                                     SOUP_METHOD_GET,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_URI:
         *
@@ -711,7 +712,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "URI",
                                    "The message's Request-URI",
                                    SOUP_TYPE_URI,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_HTTP_VERSION:
         *
@@ -725,7 +727,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                   "The HTTP protocol version to use",
                                   SOUP_TYPE_HTTP_VERSION,
                                   SOUP_HTTP_1_1,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_FLAGS:
         *
@@ -739,7 +742,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Various message options",
                                    SOUP_TYPE_MESSAGE_FLAGS,
                                    0,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_SERVER_SIDE:
         *
@@ -752,7 +756,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                      "Server-side",
                                      "Whether or not the message is server-side rather than client-side",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_STATUS_CODE:
         *
@@ -765,7 +770,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                   "Status code",
                                   "The HTTP response status code",
                                   0, 999, 0,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_REASON_PHRASE:
         *
@@ -778,7 +784,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                     "Reason phrase",
                                     "The HTTP response reason phrase",
                                     NULL,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_FIRST_PARTY:
         *
@@ -802,7 +809,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "First party",
                                    "The URI loaded in the application when the message was requested.",
                                    SOUP_TYPE_URI,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_REQUEST_BODY:
         *
@@ -815,7 +823,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Request Body",
                                    "The HTTP request content",
                                    SOUP_TYPE_MESSAGE_BODY,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_REQUEST_BODY_DATA:
         *
@@ -837,7 +846,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Request Body Data",
                                    "The HTTP request body",
                                    G_TYPE_BYTES,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_REQUEST_HEADERS:
         *
@@ -850,7 +860,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Request Headers",
                                    "The HTTP request headers",
                                    SOUP_TYPE_MESSAGE_HEADERS,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_RESPONSE_BODY:
         *
@@ -863,7 +874,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Response Body",
                                    "The HTTP response content",
                                    SOUP_TYPE_MESSAGE_BODY,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_RESPONSE_BODY_DATA:
         *
@@ -885,7 +897,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Response Body Data",
                                    "The HTTP response body",
                                    G_TYPE_BYTES,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_RESPONSE_HEADERS:
         *
@@ -898,7 +911,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "Response Headers",
                                     "The HTTP response headers",
                                    SOUP_TYPE_MESSAGE_HEADERS,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_TLS_CERTIFICATE:
         *
@@ -920,7 +934,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                     "TLS Certificate",
                                     "The TLS certificate associated with the message",
                                     G_TYPE_TLS_CERTIFICATE,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_TLS_ERRORS:
         *
@@ -942,7 +957,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                    "TLS Errors",
                                    "The verification errors on the message's TLS certificate",
                                    G_TYPE_TLS_CERTIFICATE_FLAGS, 0,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_MESSAGE_PRIORITY:
         *
@@ -958,7 +974,8 @@ soup_message_class_init (SoupMessageClass *message_class)
                                   "The priority of the message",
                                   SOUP_TYPE_MESSAGE_PRIORITY,
                                   SOUP_MESSAGE_PRIORITY_NORMAL,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
 }
 
 
diff --git a/libsoup/soup-multipart-input-stream.c b/libsoup/soup-multipart-input-stream.c
index d44991cb..535dd6ec 100644
--- a/libsoup/soup-multipart-input-stream.c
+++ b/libsoup/soup-multipart-input-stream.c
@@ -303,7 +303,8 @@ soup_multipart_input_stream_class_init (SoupMultipartInputStreamClass *multipart
                                     "Message",
                                     "The SoupMessage",
                                     SOUP_TYPE_MESSAGE,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 
 }
 
diff --git a/libsoup/soup-proxy-resolver-default.c b/libsoup/soup-proxy-resolver-default.c
index adfc54d2..f276a805 100644
--- a/libsoup/soup-proxy-resolver-default.c
+++ b/libsoup/soup-proxy-resolver-default.c
@@ -114,7 +114,8 @@ soup_proxy_resolver_default_class_init (SoupProxyResolverDefaultClass *klass)
                                     "GProxyResolver",
                                     "The underlying GProxyResolver",
                                     G_TYPE_PROXY_RESOLVER,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE |
+                                    G_PARAM_STATIC_STRINGS));
 }
 
 typedef struct {
diff --git a/libsoup/soup-request.c b/libsoup/soup-request.c
index 72fc844b..61980c78 100644
--- a/libsoup/soup-request.c
+++ b/libsoup/soup-request.c
@@ -300,7 +300,8 @@ soup_request_class_init (SoupRequestClass *request_class)
                                     "URI",
                                     "The request URI",
                                     SOUP_TYPE_URI,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_REQUEST_SESSION:
         *
@@ -321,7 +322,8 @@ soup_request_class_init (SoupRequestClass *request_class)
                                      "Session",
                                      "The request's session",
                                      SOUP_TYPE_SESSION,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 3411f67a..63875f37 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -686,6 +686,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                   0, 65536, 0,
                                   G_PARAM_READWRITE |
                                   G_PARAM_CONSTRUCT_ONLY |
+                                  G_PARAM_STATIC_STRINGS |
                                   G_PARAM_DEPRECATED));
        /**
         * SoupServer:interface:
@@ -718,6 +719,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                     SOUP_TYPE_ADDRESS,
                                     G_PARAM_READWRITE |
                                     G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS |
                                     G_PARAM_DEPRECATED));
        /**
         * SOUP_SERVER_SSL_CERT_FILE:
@@ -749,7 +751,8 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "File containing server TLS (aka SSL) certificate",
                                     NULL,
                                     G_PARAM_READWRITE |
-                                    G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SERVER_SSL_KEY_FILE:
         *
@@ -775,7 +778,8 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "File containing server TLS (aka SSL) key",
                                     NULL,
                                     G_PARAM_READWRITE |
-                                    G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SERVER_TLS_CERTIFICATE:
         *
@@ -801,7 +805,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "TLS certificate",
                                     "GTlsCertificate to use for https",
                                     G_TYPE_TLS_CERTIFICATE,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
        /**
         * SoupServer:async-context:
         *
@@ -829,6 +833,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                      "The GMainContext to dispatch async I/O in",
                                      G_PARAM_READWRITE |
                                      G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS |
                                      G_PARAM_DEPRECATED));
        /**
         * SOUP_SERVER_RAW_PATHS:
@@ -843,7 +848,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                      "Raw paths",
                                      "If %TRUE, percent-encoding in the Request-URI path will not be 
automatically decoded.",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupServer:server-header:
@@ -884,7 +889,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "Server header",
                                     "Server header",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupServer:http-aliases:
@@ -920,7 +925,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                    "http aliases",
                                    "URI schemes that are considered aliases for 'http'",
                                    G_TYPE_STRV,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
        /**
         * SoupServer:https-aliases:
         *
@@ -946,7 +951,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                    "https aliases",
                                    "URI schemes that are considered aliases for 'https'",
                                    G_TYPE_STRV,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
         /**
          * SoupServer:add-websocket-extension: (skip)
@@ -969,7 +974,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "Add support for a WebSocket extension",
                                     "Add support for a WebSocket extension of the given type",
                                     SOUP_TYPE_WEBSOCKET_EXTENSION,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
         /**
          * SoupServer:remove-websocket-extension: (skip)
          *
@@ -991,7 +996,7 @@ soup_server_class_init (SoupServerClass *server_class)
                                     "Remove support for a WebSocket extension",
                                     "Remove support for a WebSocket extension of the given type",
                                     SOUP_TYPE_WEBSOCKET_EXTENSION,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
 }
 
 /**
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 022849e7..7b428c99 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -3229,7 +3229,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                    "Proxy URI",
                                    "The HTTP Proxy to use for this session",
                                    SOUP_TYPE_URI,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:proxy-resolver:
         *
@@ -3257,7 +3258,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "Proxy Resolver",
                                     "The GProxyResolver to use for this session",
                                     G_TYPE_PROXY_RESOLVER,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_MAX_CONNS:
         *
@@ -3271,7 +3273,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                  1,
                                  G_MAXINT,
                                  SOUP_SESSION_MAX_CONNS_DEFAULT,
-                                 G_PARAM_READWRITE));
+                                 G_PARAM_READWRITE |
+                                 G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_MAX_CONNS_PER_HOST:
         *
@@ -3285,7 +3288,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                  1,
                                  G_MAXINT,
                                  SOUP_SESSION_MAX_CONNS_PER_HOST_DEFAULT,
-                                 G_PARAM_READWRITE));
+                                 G_PARAM_READWRITE |
+                                 G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:idle-timeout:
         *
@@ -3318,7 +3322,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                   "Idle Timeout",
                                   "Connection lifetime when idle",
                                   0, G_MAXUINT, 60,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:use-ntlm:
         *
@@ -3338,7 +3343,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                      "Use NTLM",
                                      "Whether or not to use NTLM authentication",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_DEPRECATED));
+                                     G_PARAM_READWRITE | G_PARAM_DEPRECATED |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:ssl-ca-file:
         *
@@ -3364,7 +3370,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "SSL CA file",
                                     "File containing SSL CA certificates",
                                     NULL,
-                                    G_PARAM_READWRITE | G_PARAM_DEPRECATED));
+                                    G_PARAM_READWRITE | G_PARAM_DEPRECATED |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE:
         *
@@ -3401,7 +3408,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                      "Use system CA file",
                                      "Use the system certificate database",
                                      TRUE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_TLS_DATABASE:
         *
@@ -3437,7 +3445,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "TLS Database",
                                     "TLS database to use",
                                     G_TYPE_TLS_DATABASE,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_SSL_STRICT:
         *
@@ -3479,7 +3488,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                      "Strictly validate SSL certificates",
                                      "Whether certificate errors should be considered a connection error",
                                      TRUE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:async-context:
         *
@@ -3507,7 +3517,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                g_param_spec_pointer (SOUP_SESSION_ASYNC_CONTEXT,
                                      "Async GMainContext",
                                      "The GMainContext to dispatch async I/O in",
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SESSION_USE_THREAD_CONTEXT:
         *
@@ -3532,7 +3543,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                      "Use thread-default GMainContext",
                                      "Whether to use thread-default main contexts",
                                      FALSE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:timeout:
         *
@@ -3566,7 +3578,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                   "Timeout value",
                                   "Value in seconds to timeout a blocking I/O",
                                   0, G_MAXUINT, 0,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupSession:user-agent:
@@ -3606,7 +3619,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "User-Agent string",
                                     "User-Agent string",
                                     NULL,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupSession:accept-language:
@@ -3632,7 +3646,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "Accept-Language string",
                                     "Accept-Language string",
                                     NULL,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupSession:accept-language-auto:
@@ -3659,7 +3674,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                      "Accept-Language automatic mode",
                                      "Accept-Language automatic mode",
                                      FALSE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
 
        /**
         * SoupSession:add-feature: (skip)
@@ -3682,7 +3698,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "Add Feature",
                                     "Add a feature object to the session",
                                     SOUP_TYPE_SESSION_FEATURE,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:add-feature-by-type: (skip)
         *
@@ -3704,7 +3721,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                    "Add Feature By Type",
                                    "Add a feature object of the given type to the session",
                                    G_TYPE_OBJECT,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:remove-feature-by-type: (skip)
         *
@@ -3727,7 +3745,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                    "Remove Feature By Type",
                                    "Remove features of the given type from the session",
                                    G_TYPE_OBJECT,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:http-aliases:
         *
@@ -3762,7 +3781,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                    "http aliases",
                                    "URI schemes that are considered aliases for 'http'",
                                    G_TYPE_STRV,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
        /**
         * SoupSession:https-aliases:
         *
@@ -3788,7 +3808,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                    "https aliases",
                                    "URI schemes that are considered aliases for 'https'",
                                    G_TYPE_STRV,
-                                   G_PARAM_READWRITE));
+                                   G_PARAM_READWRITE |
+                                   G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SESSION_LOCAL_ADDRESS:
@@ -3814,7 +3835,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "Local address",
                                     "Address of local end of socket",
                                     SOUP_TYPE_ADDRESS,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SESSION_TLS_INTERACTION:
@@ -3838,7 +3860,8 @@ soup_session_class_init (SoupSessionClass *session_class)
                                     "TLS Interaction",
                                     "TLS interaction to use",
                                     G_TYPE_TLS_INTERACTION,
-                                    G_PARAM_READWRITE));
+                                    G_PARAM_READWRITE |
+                                    G_PARAM_STATIC_STRINGS));
 }
 
 
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index afa9be4a..4cb69e0d 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -543,21 +543,24 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                   "FD",
                                   "The socket's file descriptor",
                                   -1, G_MAXINT, -1,
-                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                  G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                 object_class, PROP_GSOCKET,
                 g_param_spec_object (SOUP_SOCKET_GSOCKET,
                                      "GSocket",
                                      "The socket's underlying GSocket",
                                      G_TYPE_SOCKET,
-                                     G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                 object_class, PROP_IOSTREAM,
                 g_param_spec_object (SOUP_SOCKET_IOSTREAM,
                                      "GIOStream",
                                      "The socket's underlying GIOStream",
                                      G_TYPE_IO_STREAM,
-                                     G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SOCKET_LOCAL_ADDRESS:
@@ -571,7 +574,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                     "Local address",
                                     "Address of local end of socket",
                                     SOUP_TYPE_ADDRESS,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_REMOTE_ADDRESS:
         *
@@ -584,7 +588,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                     "Remote address",
                                     "Address of remote end of socket",
                                     SOUP_TYPE_ADDRESS,
-                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SoupSocket:non-blocking:
         *
@@ -621,14 +626,16 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                      "Non-blocking",
                                      "Whether or not the socket uses non-blocking I/O",
                                      TRUE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        g_object_class_install_property (
                object_class, PROP_IPV6_ONLY,
                g_param_spec_boolean (SOUP_SOCKET_IPV6_ONLY,
                                      "IPv6 only",
                                      "IPv6 only",
                                      FALSE,
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_IS_SERVER:
         *
@@ -651,7 +658,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                      "Server",
                                      "Whether or not the socket is a server socket",
                                      FALSE,
-                                     G_PARAM_READABLE));
+                                     G_PARAM_READABLE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_SSL_CREDENTIALS:
         *
@@ -667,7 +675,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                g_param_spec_pointer (SOUP_SOCKET_SSL_CREDENTIALS,
                                      "SSL credentials",
                                      "SSL credential information, passed from the session to the SSL 
implementation",
-                                     G_PARAM_READWRITE));
+                                     G_PARAM_READWRITE |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_SSL_STRICT:
         *
@@ -679,7 +688,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                      "Strictly validate SSL certificates",
                                      "Whether certificate errors should be considered a connection error",
                                      TRUE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_SSL_FALLBACK:
         *
@@ -691,7 +701,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                      "SSLv3 fallback",
                                      "Use SSLv3 instead of TLS (client-side only)",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_TRUSTED_CERTIFICATE:
         *
@@ -704,7 +715,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                     "Trusted Certificate",
                                     "Whether the server certificate is trusted, if this is an SSL socket",
                                     FALSE,
-                                    G_PARAM_READABLE));
+                                    G_PARAM_READABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_ASYNC_CONTEXT:
         *
@@ -716,7 +728,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                g_param_spec_pointer (SOUP_SOCKET_ASYNC_CONTEXT,
                                      "Async GMainContext",
                                      "The GMainContext to dispatch this socket's async I/O in",
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SOCKET_USE_THREAD_CONTEXT:
@@ -739,7 +752,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                      "Use thread context",
                                      "Use g_main_context_get_thread_default",
                                      FALSE,
-                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+                                     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+                                     G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SOCKET_TIMEOUT:
@@ -753,7 +767,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                   "Timeout value",
                                   "Value in seconds to timeout a blocking I/O",
                                   0, G_MAXUINT, 0,
-                                  G_PARAM_READWRITE));
+                                  G_PARAM_READWRITE |
+                                  G_PARAM_STATIC_STRINGS));
 
        /**
         * SOUP_SOCKET_TLS_CERTIFICATE:
@@ -771,7 +786,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                     "TLS certificate",
                                     "The peer's TLS certificate",
                                     G_TYPE_TLS_CERTIFICATE,
-                                    G_PARAM_READABLE));
+                                    G_PARAM_READABLE |
+                                    G_PARAM_STATIC_STRINGS));
        /**
         * SOUP_SOCKET_TLS_ERRORS:
         *
@@ -788,7 +804,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                    "TLS errors",
                                    "Errors with the peer's TLS certificate",
                                    G_TYPE_TLS_CERTIFICATE_FLAGS, 0,
-                                   G_PARAM_READABLE));
+                                   G_PARAM_READABLE |
+                                   G_PARAM_STATIC_STRINGS));
 
        g_object_class_install_property (
                 object_class, PROP_SOCKET_PROPERTIES,
@@ -796,7 +813,8 @@ soup_socket_class_init (SoupSocketClass *socket_class)
                                     "Socket properties",
                                     "Socket properties",
                                     SOUP_TYPE_SOCKET_PROPERTIES,
-                                    G_PARAM_WRITABLE));
+                                    G_PARAM_WRITABLE |
+                                    G_PARAM_STATIC_STRINGS));
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]