~midori/midori/trunk

« back to all changes in this revision

Viewing changes to katze/katze-utils.h

  • Committer: Christian Dywan
  • Date: 2008-01-05 05:24:38 UTC
  • Revision ID: git-v1:e2328a4bfcd0fd595209d01914c2ee6b6fe6965a
Implement a throbber widget.

The throbber is used in the menubar and individual tabs.

Clean infrastructure for private G* extensions is added.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
 
3
 
 
4
 This library is free software; you can redistribute it and/or
 
5
 modify it under the terms of the GNU Lesser General Public
 
6
 License as published by the Free Software Foundation; either
 
7
 version 2.1 of the License, or (at your option) any later version.
 
8
 
 
9
 See the file COPYING for the full license text.
 
10
*/
 
11
 
 
12
#ifndef __KATZE_UTILS_H__
 
13
#define __KATZE_UTILS_H__
 
14
 
 
15
#include <glib-object.h>
 
16
 
 
17
G_BEGIN_DECLS
 
18
 
 
19
/**
 
20
 * katze_assign:
 
21
 * @lvalue: a pointer
 
22
 * @rvalue: the new value
 
23
 *
 
24
 * Frees @lvalue if needed and assigns it the value of @rvalue.
 
25
 **/
 
26
#define katze_assign(lvalue, rvalue) \
 
27
    if (1) \
 
28
    { \
 
29
        g_free (lvalue); \
 
30
        lvalue = rvalue; \
 
31
    }
 
32
 
 
33
/**
 
34
 * katze_object_assign:
 
35
 * @lvalue: a gobject
 
36
 * @rvalue: the new value
 
37
 *
 
38
 * Unrefs @lvalue if needed and assigns it the value of @rvalue.
 
39
 **/
 
40
#define katze_object_assign(lvalue, rvalue) \
 
41
    if (1) \
 
42
    { \
 
43
        if (lvalue) \
 
44
            g_object_unref (lvalue); \
 
45
        lvalue = rvalue; \
 
46
    }
 
47
 
 
48
G_END_DECLS
 
49
 
 
50
#endif /* __KATZE_UTILS_H__ */