/* Jungle Monkey
 * Copyright (C) 1999-2001  The Regents of the University of Michigan
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */



#ifndef _GGUI_CHANNELS_H
#define _GGUI_CHANNELS_H

#include <glib.h>
#include <gnet/gnet.h>
#include "jmchannel/jmchannel.h"


void   	 ggui_channel_init (void);
void   	 ggui_channel_shutdown (void);
void	 ggui_channel_load (void);
void	 ggui_channel_save (void);
       
JMChannel*  ggui_channel_get (const GURL* url);
JMAnn*   ggui_channel_get_ann (const GURL* url, const gchar* path);
gboolean ggui_channel_check_path (const GURL* channel, const gchar* path, 
				  const gchar* name);

gboolean ggui_channel_is_up (const GURL* url);
gboolean ggui_channel_is_down (const GURL* url);
gchar*   ggui_channel_get_properties (const GURL* url);

void 	 ggui_channel_create (const GURL* channel, const gchar* path, const gchar* name);
void     ggui_channel_join (const GURL* url);
void	 ggui_channel_leave (const GURL* url);
void 	 ggui_channel_delete (const GURL* url);

#define  ggui_channel_add(C,P,N,U) ggui_channel_add_sha(C,P,N,U,NULL)
JMAnn*	 ggui_channel_add_sha (const GURL* curl, const gchar* path, 
			       const gchar* name, const GURL* url,
			       const GSHA* sha);
#define  ggui_channel_add_path(C,P,U) ggui_channel_add_path_sha(C,P,U,NULL)
JMAnn*	 ggui_channel_add_path_sha (const GURL* curl, const gchar* path, 
				    const GURL* url, const GSHA* sha);
void	 ggui_channel_remove (const GURL* url, const gchar* path, const gchar* name);
void	 ggui_channel_remove_path (const GURL* url, const gchar* path);

void     ggui_channel_select (const GURL* url);
GURL*    ggui_channel_get_selected (void);
void     ggui_channel_show (const GURL* url);


#endif /* _GGUI_CHANNELS_H */


syntax highlighted by Code2HTML, v. 0.9.1