亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? app4.4.c

?? code about gtk++ for MID intel develop in Linux moblin. code interface write as language c in linu
?? C
?? 第 1 頁 / 共 5 頁
字號:

/********************************************************************************
 * Company Name     :   Kobekara
 * Project Name     :   Intelligent House
 * Module Name      :   IH
 * Decription       :   Application IH in MID
 * Programmer       :   Tran Chi Nghia
 * Creation Date    :   11/02/2009
 ********************************************************************************
 * Modified Histories:   Date		Programmer	Function Name
 *		
*********************************************************************************/

#include<gtk/gtk.h>
#include<assert.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <pthread.h>
#include <gdk/gdkx.h>
#include <X11/extensions/Xrandr.h>

#define SIZE 10
#define SIZE_DEVICE 90
#define X_IMAGE_SIZE 60
#define Y_IMAGE_SIZE 50

#define LOGIN_WIDTH 300
#define LOGIN_HEIGHT 200

#define NOTEBOOK_WIDTH 700
#define NOTEBOOK_HEIGHT 350

#define FOINT_SIZE 14
#define RECORD_LEN_USER 20
#define RECORD_LEN_DEVICE 20

#define NUMBER_DEVICE 5
#define NUMBER_USER 3
#define NUMBER_PAGES 4
#define PORT 4444
#define BUFFER_SIZE 256

typedef struct
{
	gint8 key;
	char* name; 
} Device;

typedef struct
{
	 gint8 key;
	char* usr;
	char* pass;
} User;

enum Report
{
	DEVICE_NAME,
	USER_NAME,
	EVENT,
	MINUTE,
	HOUR,
	DAY,
	MONTH,
	YEAR,
	COLUMNS
};

typedef struct
{
	char* device_name;
	char* user_name;
	char* event;
	gint8 minute;
	gint8 hour;
	gint8 day;
	gint8 month;
	int year;
} ListItems;

typedef struct
{
	gint8 id_device;
	gint8 id_user;
	gint8 id_event;
	gint8 minute;
	gint8 hour;
	gint8 day;
	gint8 month;
	gint8 year;
} buffer_report;

GtkWidget *window;
GtkWidget *dialog;
GtkWidget *dialog_channel;
GtkWidget *spinner_day, *spinner_month, *spinner_year;
GtkWidget *spinner_hour, *spinner_minute;
GtkWidget *button_apply, *button_cancel;
GtkWidget *combo;
GtkWidget* time_label;
GdkDisplay *display;
PangoFontDescription *init_font;
GtkWidget* arr_all_devices[NUMBER_DEVICE];
GtkWidget* arr_active_unactive[NUMBER_DEVICE];
GtkWidget* arr_hbutton_box[3];
 GtkWidget* arr_fix_box[4];
GtkWidget *treeview;

// file data variable
char* file_name_user = "/usr/src/user.data";
char* file_name_device = "/usr/src/device.data";
char buf [RECORD_LEN_USER];

FILE* db_file_user;
FILE* db_file_device;
// socket variable
int sockfd;
struct sockaddr_in serv_addr;

/* buffer send and recive data */
gint8 send_buffer[BUFFER_SIZE];
gint8 recive_buffer[BUFFER_SIZE];

/* array name devices */
Device all_device [NUMBER_DEVICE];
User all_user [NUMBER_USER];

G_LOCK_DEFINE_STATIC (state_arr);
static volatile gint8 state_arr[NUMBER_DEVICE]; 

G_LOCK_DEFINE_STATIC (data_buffer);
static volatile buffer_report data_buffer[10] ;

ListItems list[10];

void update_report ();
void alarm_form ( gchar* message, gint8 data);
void setup_tree_view (GtkWidget *treeview);
void create_report ();
void write_users ();
void read_users ();
void write_devices ();
void read_devices ();
void message_form (gchar* message);
void *do_thread_recive (void *data);
void  create_socket ();
gint delete_event_handler (GtkWidget *widget, GdkEvent event, gpointer data);
GtkWidget *create_button ( gchar* style, gchar* title);
void end_program (GtkWidget *widget, gpointer data);
void apply_click (GtkWidget* button, gint8 data);
void cancel_click (GtkWidget* button, gint8 data);
void function_open_all (GtkWidget* button, gint8 data);
void function_close_all (GtkWidget* button, gint8 data);
void button_clicked (GtkWidget* widget, gint8 data);
void function_open (GtkWidget* button, gint8 data);
void function_close (GtkWidget* button, gint8 data);
void function_alarm (GtkWidget* button, gint8 data);
void function_channel (GtkWidget* button, gint8 data);
void send_channel (GtkWidget* button, gint8 data);
void create_form_login ();
void create_devices (GtkWidget* arr_button_device[], Device devices []);
void create_form_devices ();
GtkWidget *create_main_window( const gchar*title );
int put_record (FILE* file, int record_num, int record_len, void* buf);
int get_record (FILE* file, int record_num, int record_len, void* buf);

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : main function in module
         * Parameter    : 2
         *  "argc"(I): paramenter.
         *  "argv"(I): array paramenter.
         * Return       : 0
        ***************************************************************************/
int main (int argc, char **argv)
{
	/* init threads */
	g_thread_init(NULL);
	gdk_threads_init();
	/*endter thread*/
	gdk_threads_enter();

	/* create socket */
	gtk_init(&argc, &argv);
   
   /* write data about acounts to file */
	write_users ();
    /* read information about acounts in file*/
	read_users ();
	/*write data about devices to file*/
	write_devices ();
	/* read info device in file */
	read_devices ();
   
    /* create socket*/
    create_socket () ;
	/* create main window of application IH */
	window =create_main_window("Intelligent House");
    /*create form login*/
	create_form_login ();
	/*create main form*/
	create_form_devices ();
	/* create a thread to recive signal from server*/
	if (!g_thread_create(do_thread_recive, NULL, FALSE, NULL))
    {
		g_printerr ("Failed to create YES thread: %s\n");
		return 1;
    }
	/* show main window and all child objects*/
	gtk_widget_show_all(window);
	/* enter the GTK main loop */
	gtk_main();
	/* leave thread*/
	gdk_threads_leave();
	return 0;
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : write infomation about acount to file
         * Parameter    :  none
         * Return       :  none
        ***************************************************************************/
void write_users ()
{
	/*variables*/
	int i, num_user;  
	/* open file */
	db_file_user = fopen (file_name_user, "w+");  
	if (!db_file_user)
	{
		perror ("fopen");
		exit (1);
	}
	 /* number of users*/
	num_user = NUMBER_USER;
	/* infomation array about acounts */
	User arr_user [NUMBER_USER] = {{0,"moblin","1"},{1,"moblin2","12"},{2,"moblin3","123"}} ;
	/* put record users to file */
	put_record (db_file_user, 0, sizeof (int), &num_user);
	for  ( i = 0; i<NUMBER_USER; i++ )
	{
		put_record (db_file_user, i+1, sizeof (User), &arr_user[i]);
	}
	/* close file*/
	if (fclose (db_file_user) == EOF )
	{
		perror ("fclose");
		exit(1);
	}
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	read infomation about users in file
         * Parameter    :  none
         * Return       :  none
        ***************************************************************************/
void read_users ()
{
	int i, num_user; // number of user
	/*open file to read*/
	db_file_user = fopen (file_name_user, "r");
	if (!db_file_user)
    {
		perror ("fopen");
		exit (1);
     }
	/* read information about user*/
	get_record ( db_file_user , 0, sizeof (int), &num_user );
	for ( i=0; i<num_user; i++)
	{
		get_record ( db_file_user , i+1, sizeof (User), &all_user[i] );
	}
	/* close file */
	if(fclose (db_file_user) == EOF )
	{
		perror ("fclose");
		exit(1);
	} 
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	write infomation about devices to file
         * Parameter    :  none
         * Return       :  none
        ***************************************************************************/
void write_devices ()
{
	
	int i;
	/*number of devices */
	int num_device;
	/* open file to writing*/
	db_file_device = fopen (file_name_device, "w+");
	if (!db_file_device)
	{
		perror ("fopen");
		exit (1);
	}
	/* number of devices*/
	num_device =NUMBER_DEVICE;
	/* array of devices */
	Device arr_device [NUMBER_DEVICE] = {{0,"Light"},{1,"Fan"},{2,"Key"},{3,"Wave"},{4,"LCD"}};
	/* write array devices into file */
	put_record (db_file_device, 0, sizeof (int), &num_device);	
	for  ( i = 0; i<NUMBER_DEVICE; i++ )
	{
		put_record (db_file_device, i+1, sizeof (Device), &arr_device[i]);
	}
	/* close file */
	if (fclose (db_file_device) == EOF )
	{
		perror ("fclose");
		exit(1);
	}
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	read infomation about devices in file
         * Parameter    :  none
         * Return       :  none
        ***************************************************************************/
void read_devices ()
{
    /* variables*/
	int i, num_device;
	/* open file */
	 db_file_device = fopen (file_name_device, "r");
	if (!db_file_device)
    {
	  perror ("fopen");
	  exit (1);
    } 
	/* read number of devices and save to num_device variable */
	get_record ( db_file_device , 0, sizeof (int), &num_device );
	/* read infomation about devices and save to array all_device */
	for ( i=0; i<num_device; i++)
	{
		get_record ( db_file_device , i+1, sizeof (Device), &all_device[i] );
	}
	/* close file */
	if(fclose (db_file_device) == EOF )
	{
		perror ("fclose");
		exit(1);
	} 
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	handle event delete main window 
         * Parameter  :  3
		 "widget" (I) :  object handle event
		 "event" (I) :  the kind of event
		 "data" (I):  data send to handle
         * Return       :  gint
        ***************************************************************************/	
gint delete_event_handler (GtkWidget *widget, GdkEvent event, gpointer data)
{
  return FALSE;
}

/**************************************************************************
         * Create Date  : 02/11/2009
         * Creator Name : Tran Chi Nghia
         * Decription   : 	handle event delete main window 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二三在| 亚洲天堂2014| 91精品国产手机| 欧美日韩电影在线播放| 欧美无人高清视频在线观看| 91高清在线观看| 91黄色免费看| 欧美日韩久久一区| 日韩欧美亚洲国产精品字幕久久久| 欧美老年两性高潮| 精品久久久久久久久久久久包黑料 | 宅男噜噜噜66一区二区66| 欧美性猛交xxxxxx富婆| 欧美日韩一二三区| 91麻豆精品国产91久久久更新时间 | 国产日产亚洲精品系列| 中文无字幕一区二区三区| 亚洲欧美中日韩| 亚洲一区二区欧美日韩| 日本va欧美va欧美va精品| 激情六月婷婷综合| 成人av在线看| 欧洲生活片亚洲生活在线观看| 欧美蜜桃一区二区三区| 26uuu亚洲| 亚洲日本在线天堂| 午夜精品免费在线| 国产精品一区一区| 在线观看一区二区视频| 欧美tickling挠脚心丨vk| 日本一区二区高清| 视频一区视频二区在线观看| 国产一区免费电影| 欧美日韩三级在线| 国产欧美一区二区精品性| 亚洲一区二区三区四区不卡| 极品美女销魂一区二区三区| 色素色在线综合| 国产人成亚洲第一网站在线播放| 一区二区三区在线观看欧美| 极品尤物av久久免费看| 色激情天天射综合网| 精品国产成人系列| 亚洲亚洲人成综合网络| 国产激情精品久久久第一区二区| 在线视频一区二区三| 久久日韩精品一区二区五区| 亚洲综合小说图片| kk眼镜猥琐国模调教系列一区二区 | 91福利在线观看| 国产精品视频线看| 国内久久精品视频| 欧美一区二区视频免费观看| 国产精品私房写真福利视频| 久久电影国产免费久久电影| 欧美网站大全在线观看| 亚洲欧美日韩国产一区二区三区| 精品一二三四区| 欧美日韩国产另类一区| 亚洲精品国久久99热| 成人av网站在线观看免费| 精品国产一区二区三区忘忧草 | 欧美一区二区三区视频免费播放 | 精品一区二区日韩| 欧美老女人在线| 亚洲国产欧美在线| 在线观看免费成人| 亚洲免费电影在线| 日本韩国精品在线| 成人欧美一区二区三区黑人麻豆| 国产精品一品二品| 久久久久久久久久久久久久久99 | 尤物av一区二区| 日本韩国视频一区二区| 专区另类欧美日韩| 91福利小视频| 亚洲一区二区在线视频| 欧美日韩免费一区二区三区| 一区二区在线观看免费视频播放| 99久久精品免费精品国产| 亚洲欧洲国产专区| 91免费观看视频| 亚洲小说春色综合另类电影| 欧美日韩aaa| 日韩高清国产一区在线| 日韩精品一区二区三区四区| 久久国产乱子精品免费女| 欧美tk—视频vk| 欧美午夜宅男影院| 亚洲第一主播视频| 欧美一区二区黄| 国产精品一区二区视频| 欧美韩国日本不卡| 91久久国产综合久久| 日韩电影在线一区| 久久嫩草精品久久久久| av一区二区三区在线| 亚洲综合在线视频| 91精品黄色片免费大全| 国产精品乡下勾搭老头1| 日韩久久一区二区| 日韩午夜电影av| 成人在线综合网| 亚洲成人自拍网| 欧美精品一区二区三区在线播放| 成人h版在线观看| 亚洲一区二区三区爽爽爽爽爽| 欧美一区二区美女| 波多野结衣精品在线| 亚洲国产成人av好男人在线观看| 精品国精品国产| 91国产免费观看| 国产成人一级电影| 亚洲成人你懂的| 国产精品久久久久天堂| 欧美一区二区视频在线观看2020 | 国产欧美日韩亚州综合| 91久久免费观看| 国产精品一区二区在线观看不卡| 亚洲精品成人精品456| 26uuu久久综合| 欧美日韩中文字幕一区二区| 福利电影一区二区三区| 麻豆国产欧美一区二区三区| 亚洲免费av观看| 亚洲国产精品激情在线观看| 欧美精选在线播放| aaa欧美大片| 国产一区二区三区日韩| 国产一区不卡在线| 日韩1区2区3区| 亚洲aaa精品| 亚洲美女区一区| 国产日韩欧美一区二区三区乱码 | 91在线视频观看| 国产大陆精品国产| 极品少妇xxxx偷拍精品少妇| 日韩在线a电影| 亚洲香蕉伊在人在线观| 亚洲卡通欧美制服中文| 国产精品久久久久三级| 国产午夜久久久久| 精品国产精品一区二区夜夜嗨| 777色狠狠一区二区三区| 欧美综合在线视频| 色婷婷综合久久久中文一区二区| 国产suv精品一区二区883| 日本不卡一区二区三区| 欧美aaaaa成人免费观看视频| 午夜不卡av免费| 偷窥国产亚洲免费视频| 亚洲国产一区二区a毛片| 亚洲精品国产高清久久伦理二区| 国产精品情趣视频| 最近中文字幕一区二区三区| 国产精品麻豆网站| 亚洲色图丝袜美腿| 亚洲三级理论片| 亚洲精品国产a| 亚洲一区免费视频| 日韩电影在线免费看| 精品综合免费视频观看| 黑人巨大精品欧美黑白配亚洲| 极品少妇一区二区三区精品视频| 激情图区综合网| 成人美女视频在线观看18| 一本大道久久精品懂色aⅴ| 欧美丝袜自拍制服另类| 宅男噜噜噜66一区二区66| 精品国产一区二区亚洲人成毛片| 久久久久综合网| 午夜免费久久看| 美女尤物国产一区| 国产成人免费视频网站 | 极品瑜伽女神91| 成人午夜av影视| 欧美怡红院视频| 欧美不卡一区二区| 国产精品卡一卡二卡三| 亚洲主播在线观看| 九九国产精品视频| 99精品久久只有精品| 欧美日韩高清一区二区不卡| 精品区一区二区| 国产精品理伦片| 日精品一区二区三区| 国产精品一区二区三区乱码| 欧美最猛黑人xxxxx猛交| 欧美xxxxx牲另类人与| 国产精品免费久久| 日本伊人午夜精品| 91色婷婷久久久久合中文| 4438x成人网最大色成网站| 国产欧美日韩另类一区| 视频一区欧美日韩| 不卡视频在线看| 欧美一级艳片视频免费观看| 中文字幕一区二区三区在线播放| 秋霞午夜av一区二区三区| 成人丝袜视频网|