Beispiel #1
0
int main(int argc, char **argv)
{
    if(argc > 1)
    {
        int i=1;
        while(i < argc)
        {
            if(*argv[i] == '-')
            {
                switch(*(argv[i] + 1))
                {
                case 'h':
                    print_usage(argv);
                    exit(0);
                    break;
                case 'k':
                    i++;
                    strcpy(KBD_DEVICE, argv[i]);
                    break;
                case 't':
                    i++;
                    strcpy(TOUCH_DEVICE, argv[i]);
                    break;
                }
            }
            i++;
        }
    }

    printf("Initializing framebuffer device " FB_DEVICE "...\n");
    init_fb();
    /*	printf("Initializing keyboard device %s ...\n", KBD_DEVICE);
    	init_kbd();
    	printf("Initializing touch device %s ...\n", TOUCH_DEVICE);
    	init_touch();
    */
    printf("Initializing VNC server:\n");
    printf("	width:  %d\n", (int)scrinfo.xres);
    printf("	height: %d\n", (int)scrinfo.yres);
    printf("	bpp:    %d\n", (int)scrinfo.bits_per_pixel);
    printf("	port:   %d\n", (int)VNC_PORT);
    init_fb_server(argc, argv);

    /* Implement our own event loop to detect changes in the framebuffer. */
    while (1)
    {
        while (vncscr->clientHead == NULL)
            rfbProcessEvents(vncscr, 100000);

        rfbProcessEvents(vncscr, 100000);
        update_screen();
    }

    printf("Cleaning up...\n");
    cleanup_fb();
    /*	cleanup_kdb();
    	cleanup_touch();*/
}
Beispiel #2
0
ScreenToVnc::~ScreenToVnc()
{
    IN;
    close(eventDev);
    cleanup_fb();
    free(m_server->frameBuffer);
    rfbScreenCleanup(m_server);
    free(m_compareFrameBuffer);
    OUT;
}