Cleanup.
[jamendo] / branches / nota-show-app / src / gtkservice.c
diff --git a/branches/nota-show-app/src/gtkservice.c b/branches/nota-show-app/src/gtkservice.c
deleted file mode 100644 (file)
index 1bcba42..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/***************************************************************************
- *            gtkservice.c
- *
- *  Wed Nov 18 10:46:06 2009
- *  Copyright  2009  Marcin Miklas, Bartlomiej Swiercz
- *  <marcin.miklas@teleca.com>
- *  <bartlomiej.swiercz@teleca.com>
- ****************************************************************************/
-
-#include <gtk/gtk.h>
-#include <glib.h>
-#include <string.h> // for strlen
-#include <unistd.h>
-#include "service.h"
-#include "ts7200/ts7200_client.h"
-
-GtkWidget* g_image = NULL;
-GtkWidget* g_text_view = NULL;
-GtkWidget* act_state[2] = { NULL, NULL };
-GtkWidget* act_info[2] = { NULL, NULL };
-volatile int run_check = 1;
-
-void terminate()
-{
-    run_check = 0;
-    gtk_main_quit();
-}
-
-void displayUI()
-{
-    GtkWidget* mainWindow = gtk_window_new( GTK_WINDOW_TOPLEVEL );
-    act_state[0] = gtk_check_button_new();
-    gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( act_state[0] ), FALSE );
-    act_state[1] = gtk_check_button_new();
-    gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( act_state[1] ), FALSE );
-    act_info[0]  = gtk_label_new( "Not connected" );
-    act_info[1]  = gtk_label_new( "Not connected" );
-
-    gtk_window_set_default_size(GTK_WINDOW(mainWindow), 700, 600);
-    gtk_window_set_title(GTK_WINDOW(mainWindow), "NoTA Service - operator's panel");
-    gtk_window_set_position(GTK_WINDOW(mainWindow), GTK_WIN_POS_CENTER_ALWAYS);
-    gtk_container_set_border_width( GTK_CONTAINER( mainWindow ), 5 );
-
-       gtk_signal_connect(GTK_OBJECT(mainWindow), "destroy", G_CALLBACK( terminate ), NULL);
-
-    GtkWidget *hbox_main = gtk_hbox_new( FALSE, 2 );
-       gtk_container_add( GTK_CONTAINER( mainWindow ), hbox_main );
-       GtkWidget *vbox = gtk_vbox_new(FALSE,2);
-       gtk_box_pack_start( GTK_BOX( hbox_main ), vbox, TRUE, TRUE, 0 );
-
-    GtkWidget *frame_r = gtk_frame_new( " System log monitor: " );
-       gtk_box_pack_start( GTK_BOX( hbox_main ), frame_r, TRUE, TRUE, 0 );
-
-       g_text_view = gtk_text_view_new();
-       gtk_text_view_set_editable(GTK_TEXT_VIEW(g_text_view),FALSE);
-       gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(g_text_view),FALSE);
-       
-       GtkWidget* swindow = gtk_scrolled_window_new (NULL, NULL);
-       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
-                                  GTK_POLICY_AUTOMATIC,
-                                  GTK_POLICY_AUTOMATIC);
-       gtk_container_add(GTK_CONTAINER(swindow), g_text_view);
-       gtk_container_add( GTK_CONTAINER( frame_r ), swindow );
-       
-       g_image = gtk_image_new();
-       GdkPixbuf* pixbuf = gtk_widget_render_icon( GTK_WIDGET(g_image), GTK_STOCK_MISSING_IMAGE,
-                                                GTK_ICON_SIZE_DIALOG, NULL);
-       gtk_image_set_from_pixbuf(GTK_IMAGE(g_image),pixbuf);
-       gtk_box_pack_start(GTK_BOX(vbox),g_image,TRUE,TRUE,0);
-
-    GtkWidget *frame_l = gtk_frame_new( " Actuators: " );
-       gtk_box_pack_start( GTK_BOX( vbox ), frame_l, TRUE, TRUE, 0 );
-
-    GtkWidget *act_panel = gtk_table_new( 3, 3, FALSE );
-       gtk_container_add( GTK_CONTAINER( frame_l ), act_panel );
-    /* Row 1 - headings: */
-    gtk_table_attach( GTK_TABLE( act_panel ), gtk_label_new( "State:" ), 0, 1, 0, 1, 
-                      GTK_FILL, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), gtk_label_new( "Name:" ), 1, 2, 0, 1, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), gtk_label_new( "Information:" ), 2, 3, 0, 1, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-    /* Row 2: */
-    gtk_table_attach( GTK_TABLE( act_panel ), act_state[0], 0, 1, 1, 2, 
-                      GTK_FILL, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), gtk_label_new( "Actuator TS7200-1" ), 1, 2, 1, 2, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), act_info[0], 2, 3, 1, 2, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-    /* Row 3: */
-    gtk_table_attach( GTK_TABLE( act_panel ), act_state[1], 0, 1, 2, 3, 
-                      GTK_FILL, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), gtk_label_new( "Actuator TS7200-2" ), 1, 2, 2, 3, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-    gtk_table_attach( GTK_TABLE( act_panel ), act_info[1], 2, 3, 2, 3, 
-                      GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); 
-
-       gtk_widget_show_all(mainWindow);
-}
-
-void gtklog(const char* str) {
-       if(!run_check) return;
-       
-       GtkTextBuffer* text_buffer;
-       GtkTextIter iter;
-
-       gdk_threads_enter();
-
-       text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(g_text_view));
-       gtk_text_buffer_insert_at_cursor(text_buffer,str,strlen(str));
-       gtk_text_buffer_get_end_iter(text_buffer,&iter);
-       gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(g_text_view),&iter,0,FALSE,0,0);
-
-       gdk_threads_leave();
-}
-
-guchar* last_img = NULL;
-int last_img_size = 0;
-struct {
-       int x,y,r;
-} face = {0};
-
-void put_image(guchar* img_buf,int size) {
-       if(!run_check) return;
-       
-       gdk_threads_enter();
-
-       GdkPixbufLoader* loader = gdk_pixbuf_loader_new();
-       gdk_pixbuf_loader_write(loader,(guchar*)img_buf,size,NULL);
-       gdk_pixbuf_loader_close(loader,NULL);
-       GdkPixbuf* pixbuf = gdk_pixbuf_loader_get_pixbuf(loader);
-       
-       gtk_image_set_from_pixbuf(GTK_IMAGE(g_image),pixbuf);
-       if(face.r) {
-               /* sie nie wywala, ale rysuje nie tam gdzie trzeba.
-               GdkGC* gc;
-               gc=gdk_gc_new(g_image->window); 
-               gdk_draw_arc(g_image->window, gc, TRUE, face.x-face.r, face.y-face.r,2*face.r, 2*face.r, 0, 360*64);
-                */
-       }
-       g_object_unref(loader);
-
-       gdk_threads_leave();
-
-       if(last_img) {
-               g_free(last_img);
-       }
-       last_img = g_memdup(img_buf,size);
-       last_img_size = size;
-}
-
-guchar* get_image(int* img_size) {
-       if(!run_check) return NULL;
-       
-       if(img_size)
-               *img_size = last_img_size;
-       if(last_img) {
-               return g_memdup(last_img,last_img_size);
-       }
-       else {
-               return NULL;
-       }
-}
-
-void face_found(int x,int y,int r) {
-       if(!run_check) return;
-       
-       gchar* str = g_strdup_printf("Face detected (%d,%d,%d)!\n",x,y,r);
-       gtklog(str);
-       g_free(str);
-
-    int resp =  act_run_cmd( ACT1_SID, FACE_DETECTED );
-
-       face.x = x;
-       face.y = y;
-       face.r = r;
-}
-
-gpointer act_check( gpointer data )
-{
-    unsigned int sid = *((unsigned int*) data);
-    int resp, i;
-    while( run_check )
-    {
-        for (i=0; i<2; ++i)
-        {
-            resp =  act_run_cmd( sid+i, PING );
-
-            gdk_threads_enter();
-            if (resp == CONNECTED )
-            {
-                gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( act_state[i] ), TRUE );
-                gtk_label_set_text( GTK_LABEL( act_info[i] ), "Connected" );
-            }
-            else
-            {
-                gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( act_state[i] ), FALSE );
-                gtk_label_set_text( GTK_LABEL( act_info[i] ), "Not connected" );
-            }
-            gdk_threads_leave();
-        }
-
-        sleep( 2 );
-    }
-    return NULL;
-}
-
-int main(int argc, char *argv[])
-{
-       if (!g_thread_supported()) {
-               g_thread_init(NULL);
-       }
-       gdk_threads_init();
-       gdk_threads_enter();
-       
-       gtk_init(&argc, &argv);
-
-       displayUI();
-
-       ServiceCallbacks* cb = g_new0(ServiceCallbacks,1);
-       cb->run_check = &run_check;
-       cb->log = &gtklog;
-       cb->put_image = &put_image;
-       cb->get_image = &get_image;
-       cb->face_found = &face_found;
-       
-       g_thread_create((GThreadFunc)service,cb,FALSE,NULL);
-
-    int sid = ACT1_SID;
-       g_thread_create( (GThreadFunc) act_check, &sid, FALSE, NULL);
-       
-       gtk_main();
-
-       gdk_threads_leave();
-       return 0;
-}