#ifndef __RR_PROFILE_REGISTRY_H__
#define __RR_PROFILE_REGISTRY_H__
typedef struct _RRProfileRegistry RRProfileRegistry;
typedef struct _RRProfileRegistryClass RRProfileRegistryClass;
#include <glib-object.h>
#include <librr/rr-channel.h>
G_BEGIN_DECLS
#define RR_TYPE_PROFILE_REGISTRY (rr_profile_registry_get_type ())
#define RR_PROFILE_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), RR_TYPE_PROFILE_REGISTRY, RRProfileRegistry))
#define RR_PROFILE_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RR_TYPE_PROFILE_REGISTRY, RRProfileRegistryClass))
#define RR_IS_PROFILE_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), RR_TYPE_PROFILE_REGISTRY))
#define RR_IS_PROFILE_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RR_TYPE_PROFILE_REGISTRY))
#define RR_PROFILE_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RR_TYPE_PROFILE_REGISTRY, RRProfileRegistryClass))
struct _RRProfileRegistry {
GObject parent_object;
GHashTable *profiles_by_uri;
GHashTable *config_by_type;
GStaticRWLock rwlock;
};
struct _RRProfileRegistryClass {
GObjectClass parent_class;
};
GType rr_profile_registry_get_type (void);
gboolean rr_profile_registry_add_profile (RRProfileRegistry *profreg,
GType type, gpointer global_config);
gboolean rr_profile_registry_remove_profile (RRProfileRegistry *profreg,
GType type);
GType rr_profile_registry_lookup_by_uri (RRProfileRegistry *profreg,
const gchar *uri);
gpointer rr_profile_registry_get_global_config (RRProfileRegistry *profreg,
GType type);
RRProfileRegistry *rr_profile_registry_dup (RRProfileRegistry *profreg);
RRProfileRegistry *rr_profile_registry_new (void);
G_END_DECLS
#endif /* __RR_PROFILE_REGISTRY_H__ */
syntax highlighted by Code2HTML, v. 0.9.1