MateConfSource* 
mateconf_resolve_address(const gchar* address, GError** err)
{
  MateConfBackend* backend;

  backend = mateconf_get_backend(address, err);

  if (backend == NULL)
    return NULL;
  else
    {
      MateConfSource* retval;

      retval = mateconf_backend_resolve_address(backend, address, err);

      if (retval == NULL)
        {
          mateconf_backend_unref(backend);
          return NULL;
        }
      else
        {
          retval->backend = backend;
          retval->address = g_strdup(address);
          
          /* Leave a ref on the backend, now held by the MateConfSource */
          
          return retval;
        }
    }
}
Ejemplo n.º 2
0
void
mateconf_blow_away_locks (const gchar* address)
{
  MateConfBackend* backend;

  backend = mateconf_get_backend (address, NULL);

  if (backend != NULL)
    {
      (*backend->vtable.blow_away_locks) (address);
    }
}