On 7/9/06, Anna <[EMAIL PROTECTED]> wrote:
> In C, I handle it by creating file-scoped variables. not quite global,
> but not local either. If you want to remove as much risk as possible,
> I'd recommend declaring a file-scoped variable in a file with only the
> few functions that actually need to access the variable directly.
> (then, call it a "module". haha) example:
>
> //////////////////////////////////////////////// file starts
> #include <whatever.h>
>
> static int filescoped_special_timer_id = 0;
>
> void
> start_timer( void )
> {
> filescoped_special_timer_id = whatever( callback );
> }
>
> /* only call this from within this file or through the callback */
> static void
> callback( void )
> {
> /* do something */
> }
>
> void
> remove_timer( void )
> {
> whatever_3( filescoped_special_timer_id );
> }
> //////////////////////////////////////////////// file ends
>
> nothing outside of the file can access filescoped_special_timer_id
> directly. It's only accessible through this "module's public interface"
> which is declared in the header file. This scope is analogous to C++'s
> "private" class variables, while the "module" (aka, the file) is
> analogous to a C++ class.
>
> - Anna
>
>
> On Sat, Jul 08, 2006 at 09:23:54AM +0800, chao yeaj wrote:
> > Hello,all
> > You know ,we can register a timeout function using g_timeout_add
> > and g_timeout_add return an ID
> >
> > And,we must mannually remove the timeout function using g_source_remove
> >
> >
> > The problem is,in my application,there are several timeout
> > functions ,in many modules
> >
> > In my application,when and how to remove the timeout function is
> > depents on many conditions
> >
> > I have no idea about how to store the ID returned by
> > g_timeout_add,I think using global variable is not a good idea
> >
> > How to mange the id? I need your advise!
> > Any comments would be much appreciated , thanks in advance !
> > _______________________________________________
> > gtk-list mailing list
> > [email protected]
> > http://mail.gnome.org/mailman/listinfo/gtk-list
> _______________________________________________
> gtk-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtk-list
>
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list