Esempio n. 1
0
/*--------------------------------------------------------------------------*/
PegChart::PegChart(const PegRect& rect, LONG lMinX, LONG lMaxX, LONG lMinY, 
                   LONG lMaxY, WORD wXScale, WORD wYScale) : 
    PegThing(rect),
    mlMinX(lMinX),
    mlMaxX(lMaxX),
    mlMinY(lMinY),
    mlMaxY(lMaxY),
    mwMajorXScale(wXScale),
	mwMinorXScale(0),
    mwMajorYScale(wYScale),
	mwMinorYScale(0),
    mwMajorTicSize(12),
	mwMinorTicSize(8),
    mwXLabelScale(wXScale),
    mwYLabelScale(wYScale),
	mwXLabelHeight(0),
	mwYLabelWidth(0),
	mpFont(&MenuFont)
{
    InitClient();
    mChartRegion = mClient;

    muColors[PCI_NORMAL] = BLACK;
   #if(PEG_NUM_COLORS >= 4)
    muColors[PCI_NTEXT] = DARKGRAY;
   #else
    muColors[PCI_NTEXT] = WHITE;
   #endif
    muColors[PCI_STEXT] = WHITE;

	AddStatus(PSF_VIEWPORT);
}
bool APartyBeaconClient::RequestReservation(const FString& ConnectInfoStr, const FString& InSessionId, const FUniqueNetIdRepl& RequestingPartyLeader, const TArray<FPlayerReservation>& PartyMembers)
{
	bool bSuccess = false;

	FURL ConnectURL(NULL, *ConnectInfoStr, TRAVEL_Absolute);
	if (InitClient(ConnectURL))
	{
		DestSessionId = InSessionId;
		PendingReservation.PartyLeader = RequestingPartyLeader;
		PendingReservation.PartyMembers = PartyMembers;
		bPendingReservationSent = false;
		RequestType = EClientRequestType::ExistingSessionReservation;
		bSuccess = true;
	}
	else
	{
		UE_LOG_ONLINE(Warning, TEXT("RequestReservation: Failure to init client beacon with %s."), *ConnectURL.ToString());
		RequestType = EClientRequestType::NonePending;
	}

	if (!bSuccess)
	{
		OnFailure();
	}

	return bSuccess;
}
Esempio n. 3
0
void
init_simple(void)
{
    screenInfo.numScreens = 1;
    screenInfo.screens[0] = &screen;

    screen.myNum = 0;
    screen.id = 100;
    screen.width = 640;
    screen.height = 480;
    screen.DeviceCursorInitialize = device_cursor_init;
    screen.DeviceCursorCleanup = device_cursor_cleanup;
    screen.SetCursorPosition = set_cursor_pos;
    screen.root = &root;

    dixResetPrivates();
    InitAtoms();
    XkbInitPrivates();
    dixRegisterPrivateKey(&XIClientPrivateKeyRec, PRIVATE_CLIENT,
                          sizeof(XIClientRec));
    dixRegisterPrivateKey(&miPointerScreenKeyRec, PRIVATE_SCREEN, 0);
    dixRegisterPrivateKey(&miPointerPrivKeyRec, PRIVATE_DEVICE, 0);
    XInputExtensionInit();

    init_window(&root, NULL, ROOT_WINDOW_ID);
    init_window(&window, &root, CLIENT_WINDOW_ID);

    serverClient = &server_client;
    InitClient(serverClient, 0, (void *) NULL);
    if (!InitClientResources(serverClient)) /* for root resources */
        FatalError("couldn't init server resources");
    SyncExtensionInit();

    devices = init_devices();
}
Esempio n. 4
0
CDarkPeer::CDarkPeer(NetState state) : m_csEnumResponse("peer enum response")
{
	m_pDP = NULL;
	m_pDeviceAddress = NULL;
	m_pHostAddress = NULL;
	m_gsc = NULL;
	m_pSessionMgr = NULL;
	m_queuePeak = 0;
	m_dpnidHost = kInvalidHostID;

	m_DarkQueue.Clear();
	NewReceiveQueue.Clear();

	if (state == STATE_Client)
	{
		m_bReceivedExistingPlayers = false;

		InitClient();
		m_ConnectedEvent = CreateEvent(NULL, true, false, NULL);
	}
	else if (state == STATE_Host)
	{
		InitServer();

		// Start up global connection, if set to advertise server
		if (Cfg.GetBool("ListOnGlobal"))
		{
			if (!InitGlobalLink())
				Log.Print("Failed to list server to global.");
		}
	}

	EventManager::Broadcast(ET_NetStart, NULL);
	EventManager::RegisterListener(ET_GameMode, this);
	EventManager::RegisterListener(ET_MissionLoaded, this);

#if (GAME == GAME_THIEF || GAME == GAME_DROMED)
	if (!m_bLoadedBinds)
	{
		g_pInputBinder->LoadBndFile("user_mp.bnd", 0x21, NULL);
		m_bLoadedBinds = true;
	}
	if (!m_bLoadedNetCommands)
	{
		InitNetCommands();
		m_bLoadedNetCommands = true;
	}

	NetDisconnectListenerInit();

#if (GAME == GAME_THIEF)
	MemPatcher::WritePtr(g_MultiplayerPatches);
	MemPatcher::WriteRaw(g_MultiplayerRawPatches, NULL, NULL);

	PatchCommands(true);
#endif
	Debug.SetExceptionFilter(); // enable crash logger
#endif
}
CComplSocketClient::CComplSocketClient(void) : m_romotePort(9527)
, m_nTimeOut(1000)
{
	m_romoteIP = m_connect.GetRomoteIP();
	m_romotePort = m_connect.GetRomotePort();
	m_nTimeOut = m_connect.GetTimeOut();
	if(m_nTimeOut==0)m_nTimeOut=1000;
	CDoFile doFile;
	CString exePath = doFile.GetExeFullFilePath();
	m_caChePath = exePath + _T("\\Cache");
	doFile.CreateMyDirectory(m_caChePath);
	m_caChePath += _T("\\Cache.dat");
	InitClient();
}
Esempio n. 6
0
// Initializes all that windows junk, creates class then shows main window
BOOL WinInit(HINSTANCE hInst, int nCmdShow)
{
    // Fill out WNDCLASS info
    WNDCLASS wndClass;
    wndClass.style              = CS_DBLCLKS;   // CS_HREDRAW | CS_VREDRAW;
    wndClass.lpfnWndProc        = WndProc;
    wndClass.cbClsExtra         = 0;
    wndClass.cbWndExtra         = 0;
    wndClass.hInstance          = hInst;
    wndClass.hIcon              = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON_DIRT));

    wndClass.hCursor            = LoadCursor(NULL, IDC_ARROW);
    wndClass.hbrBackground      = (struct HBRUSH__*) (GetStockObject(BLACK_BRUSH));
    wndClass.lpszMenuName       = CLASSNAME;
    wndClass.lpszClassName      = CLASSNAME;
    
    // can only run one at a time anyway, so just quit if another is running
    if (!RegisterClass(&wndClass)) 
        return FALSE;

    /// 8.11.2000 - Test for OpenGL fullscreen, and if so use no border, no caption;
    /// else, use our normal styles

    // Create a window
    HWND hWnd = CreateWindow(
        CLASSNAME, plProduct::LongName().c_str(),
        WS_OVERLAPPEDWINDOW,
        0, 0,
        800 + gWinBorderDX * 2,
        600 + gWinBorderDY * 2 + gWinMenuDY,
         NULL, NULL, hInst, NULL
    );
//  gClient->SetWindowHandle((hsWindowHndl)

    if( !InitClient( hWnd ) )
        return FALSE;

    // Return false if window creation failed
    if (!gClient->GetWindowHandle())
    {
        OutputDebugString("Create window failed\n");
        return FALSE;
    }
    else
    {
        OutputDebugString("Create window OK\n");
    }
    return TRUE;
}
Esempio n. 7
0
//--------------------------------------------------------------------------------------------------
void StartClient
(
    const char* serviceInstanceName
        ///< [IN]
)
{
    // The instance name must not be an empty string
    if ( serviceInstanceName[0] == '\0' )
    {
        LE_FATAL("Service instance name is empty");
    }

    // If this is not the first time this function is called, compare against stored instance name.
    if ( GlobalServiceInstanceName[0] != '\0' )
    {
        if ( strcmp(GlobalServiceInstanceName, serviceInstanceName) == 0 )
        {
            LE_DEBUG("Called with duplicate name");
        }
        else
        {
            // This is an error because the user application is likely not connecting to the
            // service that they expect.
            LE_ERROR("Service instance name cannot be changed from '%s' to '%s'",
                     GlobalServiceInstanceName,
                     serviceInstanceName);
        }

        // Since the function was called before, there is nothing further to do.
        return;
    }

    // This is the first time the function is called.  Store the instance name and init the client.
    LE_FATAL_IF(le_utf8_Copy(GlobalServiceInstanceName,
                             serviceInstanceName,
                             sizeof(GlobalServiceInstanceName),
                             NULL) == LE_OVERFLOW,
                "Service ID '%s' too long (should only be %zu bytes total).",
                serviceInstanceName,
                sizeof(GlobalServiceInstanceName));

    LE_DEBUG("======= Starting Client %s ========", serviceInstanceName);
    InitClient();

    // Although InitClientThreadData() returns a value, it is not needed here.
    InitClientThreadData(serviceInstanceName);
}
Esempio n. 8
0
/*--------------------------------------------------------------------------*/
PegBitmapWindow::PegBitmapWindow(PegBitmap* pBitmap, UCHAR BitmapStyle , UCHAR FillColor, WORD wStyle) :
		PegWindow(wStyle)
{
	Type(TYPE_PEGBITMAPWINDOW);
	mpBitmap = pBitmap;
	mFillColor = FillColor;
	mBitmapStyle = BitmapStyle;

  if (mBitmapStyle == kAutoAdjustBitmapSize && mpBitmap)
	{ /* auto adjust window size to fit bitmap */

		mReal.wBottom = mReal.wTop + mpBitmap->wHeight - 1;
    mReal.wRight = mReal.wLeft + mpBitmap->wWidth - 1;
    InitClient();
   }
   mbCaptured = FALSE;
}
Esempio n. 9
0
/*--------------------------------------------------------------------------*/
PictureMenu::PictureMenu(SIGNED iLeft, SIGNED iTop) : 
    PegWindow(FF_NONE)
{
    PegRect ChildRect;

	mReal.Set(iLeft, iTop, iLeft + 49, iTop + 299);
    InitClient();
    AddStatus(PSF_MOVEABLE|PSF_SIZEABLE);

    ChildRect.Set(iLeft + 0, iTop + 250, iLeft + 49, iTop + 299);
    m_pPictureMenuButtonColorTemp = new TVBitmapButton(ChildRect, &gbcolortempBitmap, ID_PictureMenu_Button_ColorTemp);
    Add(m_pPictureMenuButtonColorTemp);

    ChildRect.Set(iLeft + 0, iTop + 200, iLeft + 49, iTop + 249);
    m_pPictureMenuButtonColor = new TVBitmapButton(ChildRect, &gbreducenoiseBitmap, ID_PictureMenu_Button_Color);
    Add(m_pPictureMenuButtonColor);

    ChildRect.Set(iLeft + 0, iTop + 150, iLeft + 49, iTop + 199);
    m_pPictureMenuButtonSharp = new TVBitmapButton(ChildRect, &gbsharpnessBitmap, ID_PictureMenu_Button_Sharp);
    Add(m_pPictureMenuButtonSharp);

    ChildRect.Set(iLeft + 0, iTop + 100, iLeft + 49, iTop + 149);
    m_pPictureMenuButtonTint = new TVBitmapButton(ChildRect, &gbcolorBitmap, ID_PictureMenu_Button_Tint);
    Add(m_pPictureMenuButtonTint);

    ChildRect.Set(iLeft + 0, iTop + 50, iLeft + 49, iTop + 99);
    m_pPictureMenuButtonContrast = new TVBitmapButton(ChildRect, &gbcontrastBitmap, ID_PictureMenu_Button_Contrast);
    Add(m_pPictureMenuButtonContrast);

    ChildRect.Set(iLeft + 0, iTop + 0, iLeft + 49, iTop + 49);
    m_pPictuerMenuButtonBright = new TVBitmapButton(ChildRect, &gbbrightnessBitmap, ID_PictureMenu_Button_Brightness);
    Add(m_pPictuerMenuButtonBright);

    /* WB End Construction */
	m_pPictureMenuButtonColorTemp->SetTipString(LS(SID_PictureMenu_Prompt_ColorTemp));
	m_pPictureMenuButtonColor->SetTipString(LS(SID_PictureMenu_Prompt_Color));
    m_pPictureMenuButtonSharp->SetTipString(LS(SID_PictureMenu_Prompt_Sharpness)); 
	m_pPictureMenuButtonTint->SetTipString(LS(SID_PictureMenu_Prompt_Tint));
	m_pPictureMenuButtonContrast->SetTipString(LS(SID_PictureMenu_Prompt_Contrast));
	m_pPictuerMenuButtonBright->SetTipString(LS(SID_PictureMenu_Prompt_Brightness));
	m_pToolTip = NULL;
	m_nCurrentSubWndID = ID_PictureMenu_Button_Brightness;
	Id(PICTURE_MENU_ID);

}
Esempio n. 10
0
/*--------------------------------------------------------------------------*/
MainMenu::MainMenu(SIGNED iLeft, SIGNED iTop) : 
    PegWindow(FF_NONE)
{
    PegRect ChildRect;

	mReal.Set(iLeft, iTop, iLeft + 49, iTop + 249);
    InitClient();
    AddStatus(PSF_MOVEABLE|PSF_SIZEABLE);

    ChildRect.Set(iLeft + 0, iTop + 200, iLeft + 49, iTop + 249);
	m_pMainMenuButton_SupFunction = new TVBitmapButton(ChildRect, &gbsuperfunctionBitmap, ID_MainMenu_Button_SupFunction);
    Add(m_pMainMenuButton_SupFunction);

	ChildRect.Set(iLeft + 0, iTop + 150, iLeft + 49, iTop + 199);
	m_pMainMenuButtonSupSetting = new TVBitmapButton(ChildRect, &gbsupersettingBitmap, ID_MainMenu_Button_SupSetting);
    Add(m_pMainMenuButtonSupSetting);

    ChildRect.Set(iLeft + 0, iTop + 100, iLeft + 49, iTop + 149);
	m_pMainMenuButtonSound = new TVBitmapButton(ChildRect, &gbsoundBitmap, ID_MainMenu_Button_Sound);
    Add(m_pMainMenuButtonSound);

    ChildRect.Set(iLeft + 0, iTop + 50, iLeft + 49, iTop + 99);
    m_pMainMenuButtonPicture = new TVBitmapButton(ChildRect, &gbpictureBitmap, ID_MainMenu_Buttion_Picture);
    Add(m_pMainMenuButtonPicture);

    ChildRect.Set(iLeft + 0, iTop + 0, iLeft + 49, iTop + 49);
	m_pMainMenuButtonFactorySetting = new TVBitmapButton(ChildRect, &gbfactoryBitmap, ID_MainMenu_Button_FactorySetting);
    Add(m_pMainMenuButtonFactorySetting);

    /* WB End Construction */
	m_pMainMenuButtonFactorySetting->SetTipString(LS(SID_MainMenu_Prompt_Factory));
	m_pMainMenuButton_SupFunction->SetTipString(LS(SID_MainMenu_Prompt_SuperFunction));
	m_pMainMenuButtonSupSetting->SetTipString(LS(SID_MainMenu_Prompt_SuperSetting));

	m_pMainMenuButtonSound->SetTipString(LS(SID_MainMenu_Prompt_Sound));
	m_pMainMenuButtonPicture->SetTipString(LS(SID_MainMenu_Prompt_Picture));

	m_pToolTip = NULL;
	m_pTVHelpWnd = NULL;
	m_nCurrentSubWndID = ID_MainMenu_Button_FactorySetting;


	Id(MAIN_MENU_ID);
}
Esempio n. 11
0
/*--------------------------------------------------------------------------*/
AGCMessageClass::AGCMessageClass(SIGNED iLeft, SIGNED iTop) : 
  PegWindow(FF_THIN)
{
	PegRect ChildRect;

	mReal.Set(iLeft, iTop, iLeft + 393, iTop + 39);
	InitClient();
	SetColor(PCI_NORMAL, 223);
	RemoveStatus(PSF_MOVEABLE|PSF_SIZEABLE|PSF_ACCEPTS_FOCUS);

	ChildRect.Set(iLeft + 30, iTop + 10, iLeft + 374, iTop + 29);
	pAGCMessage = new PegPrompt(ChildRect, LSA(SID_AGCMessage), AGCMessageID, FF_NONE|AF_TRANSPARENT|TJ_CENTER);
	pAGCMessage->SetColor(PCI_NTEXT, RED);
	Add(pAGCMessage);

	/* WB End Construction */

	Id(GENAGC_MESSAGE_ID);	
}
Esempio n. 12
0
SessionOpen)dOpenHpiClientParam( SAHPI_IN  SaHpiDomainIdT   DomainId,
				 SAHPI_OUT SaHpiSessionIdT *SessionId,
				 SAHPI_IN  void            *SecurityParams )
{
  if ( config->m_initialize == 0 )
       return SA_ERR_HPI_UNINITIALIZED;

  if ( SessionId == 0 || SecurityParams != 0 )
       return SA_ERR_HPI_INVALID_PARAMS;

  if ( config->m_num_sessions == 0 )
     {
       if ( !InitClient( config ) )
	    return SA_ERR_HPI_INITIALIZING;
     }

  config->m_num_sessions++;

  PreMarshal( eFsaHpiSessionOpen );

  request_header.m_len = HpiMarshalRequest1( hm, request, &DomainId );

  Send();

  int mr = HpiDemarshalReply1( reply_header.m_flags & dMhEndianBit, hm, reply, &err, SessionId );

  PostMarshal();

  if ( err != SA_OK )
     {
       config->m_num_sessions--;

       assert( config->m_num_sessions >= 0 );

       if ( config->m_num_sessions < 0 )
	    config->m_num_sessions = 0;
  
       if ( config->m_num_sessions == 0 )
	    CleanupClient( config );
     }

  return err;
}
Esempio n. 13
0
int _tmain(int argc, _TCHAR* argv[])
{
    //检查参数
    int rt=checkPara(argc, argv);
    if(rt<0) goto end;

    //初始化UDP,挂接接收处理函数recvCmd处理接收指令
    if (ERROR == InitClient((char*)serverIp.c_str(),serverPort,localPort,recvCmd))
    {
        log("InitClient 失败");
        return ERROR;
    }

    //发送自己角色的信息给服务器:POL 或 THI指令
    sendMyInfoToServer();

    waitThreadEnd();//循环等待线程退出,可以在接收到END指令后直接用exit(0);退出程序。
end:
    getchar();
    return 0;
}
Esempio n. 14
0
/*--------------------------------------------------------------------------*/
PegWindow::PegWindow(const PegRect &Rect, WORD wStyle) :
    PegThing(Rect, 0, wStyle),
    mpIconMap(NULL),
    mpVScroll(NULL),
    mpHScroll(NULL),
    mbModal(FALSE),
    mbMaximized(FALSE),
    mbMoveFrame(FALSE),
    muScrollMode(0),
    muMoveMode(0),
    mbShowPointer(PPT_NORMAL)
{
    Type(TYPE_WINDOW);
    muColors[PCI_NORMAL] = PCLR_CLIENT;
    AddStatus(PSF_VIEWPORT|PSF_TAB_STOP);

    if (wStyle & FF_THICK)
    {
        AddStatus(PSF_SIZEABLE|PSF_MOVEABLE);
    }
    InitClient();
}
Esempio n. 15
0
/*--------------------------------------------------------------------------*/
PegPrompt::PegPrompt(const PegRect &Rect, const PEGCHAR *Text, WORD wId, WORD wStyle) : 
    PegThing(Rect, wId, wStyle),
    PegTextThing(Text, wStyle & TT_COPY, PEG_PROMPT_FONT)
{
    Type(TYPE_PROMPT);
    InitClient();

    if (!(wStyle & AF_ENABLED))
    {
        RemoveStatus(PSF_SELECTABLE|PSF_ACCEPTS_FOCUS);
    }
    else
    {
        AddStatus(PSF_TAB_STOP);
        SetSignals(SIGMASK(PSF_FOCUS_RECEIVED));
    }

    muColors[PCI_NTEXT] = PCLR_NORMAL_TEXT;
    muColors[PCI_STEXT] = PCLR_HIGH_TEXT;
    muColors[PCI_SELECTED] = PCLR_HIGH_TEXT_BACK;
    muColors[PCI_NORMAL] = PCLR_CLIENT;
}
Esempio n. 16
0
int main(int argc, char *argv[])
{
	int error = 0;
	if ((argc == 2) && (strcmp(argv[1], "-v") == 0))
	{
		ShowVersion();

		return 0;
	}

	if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule()))
	{
		lpprintf("Could not create connection with Miranda or could not retrieve list of known commands.\n");
		error = MIMRES_NOMIRANDA;
	}
	else{
		if ((argc <= 1) || (argc > MAX_ARGUMENTS))
		{
			PrintUsage();
		}
		else{
			PReply reply = ParseCommand(argv, argc);
			if (reply)
			{
				error = reply->code;
				lpprintf("%s\n", reply->message);
			}
			else{
				lpprintf(Translate("Unknown command '%s'.\n"), argv[1]);
			}

			DestroyKnownCommands();
			DisconnectFromMiranda();
			DestroyClient();
		}
	}

	return error;
}
Esempio n. 17
0
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);


	InitClient();
	client->SendCmd(RequestGameWindowPosAndSize);

	EFFApplication app;
	application = &app;
	app.Init(effTRUE, 1024, 768, effTRUE, effFALSE);
	app.SetBackGroundColor(0x00FF0000);
	app.OnRenderGUI += EFFEventCall(&ReceiveMsg);

	app.Run();


 	return 0;
}
Esempio n. 18
0
//---------------------------------------------------------------------------------------------------------------------------
//Init()
//-1 - error , 0 - ok
//ConnectThread -- thread number for connect
//ListenThread -- thread number for listen
//bAdoConnect -- use ado class?
//szConnect -- ado connection string
//---------------------------------------------------------------------------------------------------------------------------
int CIocpServer::Init(int connect_thread,int listen_thread,int adoflag,char *adostring)
{
	int irc=0;
	if(m_Inited)
	{
		fprintf(stderr, "初始化过一次了!\n");
		return -1;
	}

	WSADATA          wsd;
	// Load Winsock
	if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) 
	{
		fprintf(stderr, "unable to load Winsock!\n");
		return -1;
	}

	m_Inited = true;
	m_CLThreads = connect_thread;
	m_Threads = listen_thread;
	m_bAdo = adoflag;
	if(adostring!=NULL)
		m_szAdo = adostring;

	if(m_CLThreads > 0)
	{
		irc = InitClient(m_CLThreads);
		if(irc != 0)
			return irc;
	}

	if(m_Threads > 0)
		irc = InitServer(m_Threads);


	return irc;
}
Esempio n. 19
0
int main(int argc, char **argv)
{
	struct passwd	*pw;
	unsigned int	seq;

	InitConfig();

	pw = getpwuid(getuid());

	InitClient(pw->pw_name, (char *)"ftnseq", CFG.location, CFG.logfile, 
		CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog);

	Syslog(' ', " "); 
	Syslog(' ', "FTNSEQ v%s", VERSION);

	seq = sequencer();
	Syslog('+', "Sequence string %08lx", seq);
	printf("%08x", seq);
	fflush(stdout);

	Syslog(' ', "FTNSEQ finished");
	ExitClient(0);
	return 0;
}
Esempio n. 20
0
/*--------------------------------------------------------------------------*/
PegLinearBitmapScale::PegLinearBitmapScale(SIGNED iLeft, SIGNED iTop,
                                           LONG lMinValue, LONG lMaxValue,
                                           SIGNED iMinTravelOffset,
                                           SIGNED iMaxTravelOffset,
                                           PegBitmap* pBkgBmp,
                                           PegBitmap* pNeedleBmp,
                                           WORD wStyle) :
    PegScale(iLeft, iTop, lMinValue, lMaxValue, wStyle|FF_NONE|SS_USERTRAVEL),
    mpBkgBitmap(pBkgBmp),
    mpNeedleBitmap(pNeedleBmp),
    mpCompBitmap(NULL),
    miNeedleOffset(0),
    miMinTravelOffset(iMinTravelOffset),
    miMaxTravelOffset(iMaxTravelOffset)
{
    Type(TYPE_LIN_BM_SCALE);
    
    if(mpBkgBitmap)
    {
        mReal.wRight = mReal.wLeft + mpBkgBitmap->wWidth - 1;
        mReal.wBottom = mReal.wTop + mpBkgBitmap->wHeight - 1;
        InitClient();
    }
}
Esempio n. 21
0
/*----------------------------------------------------------------------------*/
ExampleTwo::ExampleTwo(SIGNED iLeft, SIGNED iTop) : PegDecoratedWindow()
{
    static PegMenuDescription HelpMenu [] = {
    {"Index",  ExampleTwo::IDB_HELPINDEX,  AF_ENABLED|BF_CHECKABLE, NULL},
    {"About",  ExampleTwo::IDB_ABOUT,  AF_ENABLED, NULL},
    {"", 0, 0, NULL}
    };
    static PegMenuDescription FileMenu [] = {
    {"Close",  ExampleTwo::IDB_CLOSE,  AF_ENABLED, NULL},
    {"Command",  0,  BF_SEPERATOR, NULL},
    {"Save",  ExampleTwo::IDB_FILESAVE,  AF_ENABLED, NULL},
    {"Open",  ExampleTwo::IDB_OPENFILE,  AF_ENABLED, NULL},
    {"", 0, 0, NULL}
    };
    static PegMenuDescription TopMenu [] = {
    {"Help",  0,  AF_ENABLED, HelpMenu},
    {"File",  0,  AF_ENABLED, FileMenu},
    {"", 0, 0, NULL}
    };
    PegRect ChildRect;
    PegThing *pChild1;

    mReal.Set(111, 93, 462, 369);
    InitClient();
    SetColor(PCI_NORMAL, CYAN);
    Add (new PegTitle("Example Two", TF_CLOSEBUTTON));
    Add(new PegMenuBar(TopMenu));

    ChildRect.Set(282, 145, 311, 164);
    Add(new PegPrompt(ChildRect, "/sec"));
    ChildRect.Set(222, 145, 275, 164);
    mpRatePrompt = new PegPrompt(ChildRect, "500", IDP_RATEVAL, FF_RECESSED|TJ_RIGHT|TT_COPY);
    mpRatePrompt->SetColor(PCI_NORMAL, BLACK);
    mpRatePrompt->SetColor(PCI_NTEXT, LIGHTGREEN);
    Add(mpRatePrompt);

    ChildRect.Set(127, 145, 212, 164);
    pChild1 = new PegPrompt(ChildRect, "Sample Rate");
    pChild1->SetColor(PCI_NORMAL, DARKGRAY);
    Add(pChild1);

    ChildRect.Set(126, 179, 312, 205);
    pChild1 = new PegSlider(ChildRect, 100, 1000, IDSL_RATE, FF_RECESSED, 50);
    ((PegSlider *) pChild1)->SetCurrentValue(500);
    Add(pChild1);

    ChildRect.Set(334, 260, 449, 354);
    pChild1 = new PegGroup(ChildRect, "TimeStamp");
    ChildRect.Set(346, 326, 412, 345);
    pChild1->Add(new PegRadioButton(ChildRect, "Daily", IDRB_DAILY));
    ChildRect.Set(346, 303, 408, 322);
    pChild1->Add(new PegRadioButton(ChildRect, "Hourly", IDRB_HOURLY));
    ChildRect.Set(346, 280, 411, 299);
    pChild1->Add(new PegRadioButton(ChildRect, "Minute", IDRB_MINUTE, FF_RAISED|AF_ENABLED|BF_SELECTED));
    Add(pChild1);

    ChildRect.Set(347, 233, 436, 252);
    pChild1 = new PegCheckBox(ChildRect, "All Data", IDRB_ALLDATA, FF_RAISED|AF_ENABLED|BF_SELECTED);
    pChild1->SetColor(PCI_NORMAL, WHITE);
    pChild1->SetColor(PCI_NTEXT, WHITE);
    Add(pChild1);

    ChildRect.Set(352, 188, 431, 214);
    pChild1 = new PegTextButton(ChildRect, "Stop", IDB_STOPBUTTON);
    pChild1->SetColor(PCI_NORMAL, LIGHTRED);
    Add(pChild1);

    ChildRect.Set(352, 150, 431, 176);
    pChild1 = new PegTextButton(ChildRect, "Start", IDB_STARTBUTTON);
    pChild1->SetColor(PCI_NORMAL, LIGHTGREEN);
    Add(pChild1);

    ChildRect.Set(128, 223, 314, 354);
    pChild1 = new PegWindow(ChildRect, FF_RECESSED);;
    pChild1->SetColor(PCI_NORMAL, BLACK);
    ((PegWindow *) pChild1)->SetScrollMode(WSM_HSCROLL);
    Add(pChild1);

}
Esempio n. 22
0
int
main(int argc, char *argv[], char *envp[])
#endif
{
    int i;
    HWEventQueueType alwaysCheckForInput[2];

    display = "0";

    InitRegions();

    CheckUserParameters(argc, argv, envp);

    CheckUserAuthorization();

    InitConnectionLimits();

    ProcessCommandLine(argc, argv);

    alwaysCheckForInput[0] = 0;
    alwaysCheckForInput[1] = 1;
    while (1) {
        serverGeneration++;
        ScreenSaverTime = defaultScreenSaverTime;
        ScreenSaverInterval = defaultScreenSaverInterval;
        ScreenSaverBlanking = defaultScreenSaverBlanking;
        ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
#ifdef DPMSExtension
        DPMSStandbyTime = DPMSSuspendTime = DPMSOffTime = ScreenSaverTime;
        DPMSEnabled = TRUE;
        DPMSPowerLevel = 0;
#endif
        InitBlockAndWakeupHandlers();
        /* Perform any operating system dependent initializations you'd like */
        OsInit();
        if (serverGeneration == 1) {
            CreateWellKnownSockets();
            for (i = 1; i < MAXCLIENTS; i++)
                clients[i] = NullClient;
            serverClient = calloc(sizeof(ClientRec), 1);
            if (!serverClient)
                FatalError("couldn't create server client");
            InitClient(serverClient, 0, (pointer) NULL);
        }
        else
            ResetWellKnownSockets();
        clients[0] = serverClient;
        currentMaxClients = 1;

        /* Initialize privates before first allocation */
        dixResetPrivates();

        /* Initialize server client devPrivates, to be reallocated as
         * more client privates are registered
         */
        if (!dixAllocatePrivates(&serverClient->devPrivates, PRIVATE_CLIENT))
            FatalError("failed to create server client privates");

        if (!InitClientResources(serverClient)) /* for root resources */
            FatalError("couldn't init server resources");

        SetInputCheck(&alwaysCheckForInput[0], &alwaysCheckForInput[1]);
        screenInfo.numScreens = 0;

        InitAtoms();
        InitEvents();
        InitSelections();
        InitGlyphCaching();
        dixResetRegistry();
        ResetFontPrivateIndex();
        InitCallbackManager();
        InitOutput(&screenInfo, argc, argv);

        if (screenInfo.numScreens < 1)
            FatalError("no screens found");
        InitExtensions(argc, argv);

        for (i = 0; i < screenInfo.numGPUScreens; i++) {
            ScreenPtr pScreen = screenInfo.gpuscreens[i];
            if (!CreateScratchPixmapsForScreen(pScreen))
                FatalError("failed to create scratch pixmaps");
        }

        for (i = 0; i < screenInfo.numScreens; i++) {
            ScreenPtr pScreen = screenInfo.screens[i];

            if (!CreateScratchPixmapsForScreen(pScreen))
                FatalError("failed to create scratch pixmaps");
            if (pScreen->CreateScreenResources &&
                !(*pScreen->CreateScreenResources) (pScreen))
                FatalError("failed to create screen resources");
            if (!CreateGCperDepth(i))
                FatalError("failed to create scratch GCs");
            if (!CreateDefaultStipple(i))
                FatalError("failed to create default stipple");
            if (!CreateRootWindow(pScreen))
                FatalError("failed to create root window");
        }

        InitFonts();
        if (SetDefaultFontPath(defaultFontPath) != Success) {
            ErrorF("[dix] failed to set default font path '%s'",
                   defaultFontPath);
        }
        if (!SetDefaultFont(defaultTextFont)) {
            FatalError("could not open default font '%s'", defaultTextFont);
        }

        if (!(rootCursor = CreateRootCursor(NULL, 0))) {
            FatalError("could not open default cursor font '%s'",
                       defaultCursorFont);
        }

#ifdef DPMSExtension
        /* check all screens, looking for DPMS Capabilities */
        DPMSCapableFlag = DPMSSupported();
        if (!DPMSCapableFlag)
            DPMSEnabled = FALSE;
#endif

#ifdef PANORAMIX
        /*
         * Consolidate window and colourmap information for each screen
         */
        if (!noPanoramiXExtension)
            PanoramiXConsolidate();
#endif

        for (i = 0; i < screenInfo.numScreens; i++)
            InitRootWindow(screenInfo.screens[i]->root);

        InitCoreDevices();
        InitInput(argc, argv);
        InitAndStartDevices();
        ReserveClientIds(serverClient);

        dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);

#ifdef PANORAMIX
        if (!noPanoramiXExtension) {
            if (!PanoramiXCreateConnectionBlock()) {
                FatalError("could not create connection block info");
            }
        }
        else
#endif
        {
            if (!CreateConnectionBlock()) {
                FatalError("could not create connection block info");
            }
        }

#ifdef XQUARTZ
        /* Let the other threads know the server is done with its init */
        pthread_mutex_lock(&serverRunningMutex);
        serverRunning = TRUE;
        pthread_cond_broadcast(&serverRunningCond);
        pthread_mutex_unlock(&serverRunningMutex);
#endif

        NotifyParentProcess();

        Dispatch();

#ifdef XQUARTZ
        /* Let the other threads know the server is no longer running */
        pthread_mutex_lock(&serverRunningMutex);
        serverRunning = FALSE;
        pthread_mutex_unlock(&serverRunningMutex);
#endif

        UndisplayDevices();
        DisableAllDevices();

        /* Now free up whatever must be freed */
        if (screenIsSaved == SCREEN_SAVER_ON)
            dixSaveScreens(serverClient, SCREEN_SAVER_OFF, ScreenSaverReset);
        FreeScreenSaverTimer();
        CloseDownExtensions();

#ifdef PANORAMIX
        {
            Bool remember_it = noPanoramiXExtension;

            noPanoramiXExtension = TRUE;
            FreeAllResources();
            noPanoramiXExtension = remember_it;
        }
#else
        FreeAllResources();
#endif

        CloseInput();

        for (i = 0; i < screenInfo.numScreens; i++)
            screenInfo.screens[i]->root = NullWindow;

        CloseDownDevices();

        CloseDownEvents();

        for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
            ScreenPtr pScreen = screenInfo.gpuscreens[i];
            FreeScratchPixmapsForScreen(pScreen);
            (*pScreen->CloseScreen) (pScreen);
            dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
            free(pScreen);
            screenInfo.numGPUScreens = i;
        }

        for (i = screenInfo.numScreens - 1; i >= 0; i--) {
            FreeScratchPixmapsForScreen(screenInfo.screens[i]);
            FreeGCperDepth(i);
            FreeDefaultStipple(i);
            dixFreeScreenSpecificPrivates(screenInfo.screens[i]);
            (*screenInfo.screens[i]->CloseScreen) (screenInfo.screens[i]);
            dixFreePrivates(screenInfo.screens[i]->devPrivates, PRIVATE_SCREEN);
            free(screenInfo.screens[i]);
            screenInfo.numScreens = i;
        }

        ReleaseClientIds(serverClient);
        dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);
        serverClient->devPrivates = NULL;

        FreeFonts();

        FreeAuditTimer();

        if (dispatchException & DE_TERMINATE) {
            CloseWellKnownConnections();
        }

        OsCleanup((dispatchException & DE_TERMINATE) != 0);

        if (dispatchException & DE_TERMINATE) {
            ddxGiveUp(EXIT_NO_ERROR);
            break;
        }

        free(ConnectionInfo);
        ConnectionInfo = NULL;
    }
    return 0;
}
Esempio n. 23
0
File: mball.c Progetto: bbs-io/mbse
int main(int argc, char **argv)
{
    int		    i;
    char	    *cmd;
    struct passwd   *pw;

    InitConfig();
    mbse_TermInit(1, 80, 24);
    t_start = time(NULL);
    umask(000);

    /*
     * Catch all signals we can, and ignore the rest.
     */
    for (i = 0; i < NSIG; i++) {
	if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM) || (i == SIGIOT))
	    signal(i, (void (*))die);
	else if (i == SIGCHLD)
	    signal(i, SIG_DFL);
	else if ((i != SIGKILL) && (i != SIGSTOP))
	    signal(i, SIG_IGN);
    }

    if (argc < 2)
	Help();

    cmd = xstrcpy((char *)"Command line: mball");

    for (i = 1; i < argc; i++) {

	cmd = xstrcat(cmd, (char *)" ");
	cmd = xstrcat(cmd, argv[i]);

	if (!strncasecmp(argv[i], "l", 1))
	    do_list = TRUE;
	if (!strncasecmp(argv[i], "-q", 2))
	    do_quiet = TRUE;
	if (!strncasecmp(argv[i], "-z", 2))
	    do_zip = TRUE;
    }

    if (!do_list)
	Help();

    ProgName();
    pw = getpwuid(getuid());
    InitClient(pw->pw_name, (char *)"mball", CFG.location, CFG.logfile, 
	    CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog);

    Syslog(' ', " ");
    Syslog(' ', "MBALL v%s", VERSION);
    Syslog(' ', cmd);
    free(cmd);

    if (!do_quiet) {
	mbse_colour(CYAN, BLACK);
	printf("\n");
    }

    if (lockprogram((char *)"mball")) {
	if (!do_quiet)
	    printf("Can't lock mball, abort.\n");
	die(MBERR_NO_PROGLOCK);
    }

    if (do_list) {
	dlcount();
	Masterlist();
	if (do_zip)
	    MakeArc();
	CreateSema((char *)"mailin");
    }

    if (!do_quiet)
	printf("Done!\n");

    die(MBERR_OK);
    return 0;
}
Esempio n. 24
0
File: mbmsg.c Progetto: bbs-io/mbse
int main(int argc, char **argv)
{
    int		    i;
    char	    *cmd, *too = NULL, *subj = NULL, *mfile = NULL, *flavor = NULL;
    struct passwd   *pw;
    int		    tarea = 0;


    InitConfig();
    mbse_TermInit(1, 80, 25);
    oldmask = umask(007);
    t_start = time(NULL);

    /*
     * Catch all signals we can, and ignore or catch them
     */
    for (i = 0; i < NSIG; i++) {
	if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM) || (i == SIGIOT))
	    signal(i, (void (*))die);
	else if ((i != SIGKILL) && (i != SIGSTOP))
	    signal(i, SIG_IGN);
    }

    if (argc < 2)
	Help();

    cmd = xstrcpy((char *)"Cmd:");

    for (i = 1; i < argc; i++) {
	cmd = xstrcat(cmd, (char *)" ");
	cmd = xstrcat(cmd, argv[i]);

	if (strncasecmp(argv[i], "l", 1) == 0)
	    do_link = TRUE;
	if (strncasecmp(argv[i], "k", 1) == 0)
	    do_kill = TRUE;
	if (strncasecmp(argv[i], "pa", 2) == 0)
	    do_pack = TRUE;
	if (strncasecmp(argv[i], "po", 2) == 0) {
	    if (((argc - i) < 6) || ((argc - i) > 7))
		Help();
	    do_post = TRUE;
	    too = argv[++i];
	    cmd = xstrcat(cmd, (char *)" \"");
	    cmd = xstrcat(cmd, too);
	    tarea = atoi(argv[++i]);
	    cmd = xstrcat(cmd, (char *)"\" ");
	    cmd = xstrcat(cmd, argv[i]);
	    subj = argv[++i];
	    cmd = xstrcat(cmd, (char *)" \"");
	    cmd = xstrcat(cmd, subj);
	    mfile = argv[++i];
	    cmd = xstrcat(cmd, (char *)"\" ");
	    cmd = xstrcat(cmd, mfile);
	    flavor = argv[++i];
	    cmd = xstrcat(cmd, (char *)" ");
	    cmd = xstrcat(cmd, flavor);
	}
	if (strncasecmp(argv[i], "-a", 2) == 0) {
	    i++;
	    do_area = atoi(argv[i]);
	}
	if (strncasecmp(argv[i], "-q", 2) == 0)
	    do_quiet = TRUE;
    }

    if (!(do_link || do_kill || do_pack || do_post))
	Help();

    ProgName();
    pw = getpwuid(getuid());
    InitClient(pw->pw_name, (char *)"mbmsg", CFG.location, CFG.logfile, 
		CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog);

    Syslog(' ', " ");
    Syslog(' ', "MBMSG v%s", VERSION);
    Syslog(' ', cmd);
    free(cmd);

    if (!do_quiet) {
	printf("\n");
	mbse_colour(CYAN, BLACK);
    }

    if (do_link || do_kill || do_pack) {
	memset(&MsgBase, 0, sizeof(MsgBase));
	DoMsgBase();
    }

    if (do_post) {
	if (Post(too, tarea, subj, mfile, flavor))
	    die(MBERR_GENERAL);
    }

    die(MBERR_OK);
    return 0;
}
Esempio n. 25
0
File: main.c Progetto: theqvd/vcxsrv
int
dix_main(int argc, char *argv[], char *envp[])
{
    int i;
    HWEventQueueType alwaysCheckForInput[2];
    #ifdef _DEBUG
    //int TmpFlag=_CrtSetDbgFlag( _CRTDBG_REPORT_FLAG);
    
    //TmpFlag|=_CRTDBG_ALLOC_MEM_DF;
    //TmpFlag|=_CRTDBG_DELAY_FREE_MEM_DF;
    //TmpFlag|=_CRTDBG_CHECK_ALWAYS_DF;
    //TmpFlag|=_CRTDBG_CHECK_CRT_DF;
    //TmpFlag|=_CRTDBG_LEAK_CHECK_DF;
    
    //_CrtSetDbgFlag(TmpFlag);
    #endif

    ptw32_processInitialize();
    display = "0";

    #ifdef WIN32

    if (InitWSA()<0)
    {
      printf("Error initialising WSA\n");
      return -1;
    }
    /* In Win32 we have different threads call Xlib functions (depending
       on the commandline options given).
       XInitThreads has to be called before
       any xlib function is called (aoccording to the man page) */
    XInitThreads();
    /* change the current directory to the directory where the vcxsrv.exe executable is installed.
       This is needed because the font directories are relative to the current directory.
     */
     {
       char ModuleFilename[MAX_PATH];
       char *pSlash;
       GetModuleFileName(NULL,ModuleFilename,sizeof(ModuleFilename));
       pSlash=strrchr(ModuleFilename,'\\');
       if (pSlash)
       {
         *pSlash='\0';
         chdir(ModuleFilename);
       }
     }
    OsVendorPreInit(argc, argv);
    #endif

    InitRegions();

    CheckUserParameters(argc, argv, envp);

    CheckUserAuthorization();

    InitConnectionLimits();

    ProcessCommandLine(argc, argv);

    alwaysCheckForInput[0] = 0;
    alwaysCheckForInput[1] = 1;
    while (1) {
        serverGeneration++;
        ScreenSaverTime = defaultScreenSaverTime;
        ScreenSaverInterval = defaultScreenSaverInterval;
        ScreenSaverBlanking = defaultScreenSaverBlanking;
        ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
#ifdef DPMSExtension
        DPMSStandbyTime = DPMSSuspendTime = DPMSOffTime = ScreenSaverTime;
        DPMSEnabled = TRUE;
        DPMSPowerLevel = 0;
#endif
        InitBlockAndWakeupHandlers();
        /* Perform any operating system dependent initializations you'd like */
        if (serverGeneration == 1) {
            CreateWellKnownSockets();
            for (i = 1; i < MAXCLIENTS; i++)
                clients[i] = NullClient;
            serverClient = calloc(sizeof(ClientRec), 1);
            if (!serverClient)
                FatalError("couldn't create server client");
            InitClient(serverClient, 0, (void *) NULL);
        }
        else
            ResetWellKnownSockets();
        clients[0] = serverClient;
        currentMaxClients = 1;
        OsInit();

        /* clear any existing selections */
        InitSelections();

        /* Initialize privates before first allocation */
        dixResetPrivates();

        /* Initialize server client devPrivates, to be reallocated as
         * more client privates are registered
         */
        if (!dixAllocatePrivates(&serverClient->devPrivates, PRIVATE_CLIENT))
            FatalError("failed to create server client privates");

        if (!InitClientResources(serverClient)) /* for root resources */
            FatalError("couldn't init server resources");

        SetInputCheck(&alwaysCheckForInput[0], &alwaysCheckForInput[1]);
        screenInfo.numScreens = 0;

        InitAtoms();
        InitEvents();
        InitGlyphCaching();
        dixResetRegistry();
        ResetFontPrivateIndex();
        InitCallbackManager();
        InitOutput(&screenInfo, argc, argv);

        if (screenInfo.numScreens < 1)
            FatalError("no screens found");
        InitExtensions(argc, argv);

        for (i = 0; i < screenInfo.numGPUScreens; i++) {
            ScreenPtr pScreen = screenInfo.gpuscreens[i];
            if (!CreateScratchPixmapsForScreen(pScreen))
                FatalError("failed to create scratch pixmaps");
            if (pScreen->CreateScreenResources &&
                !(*pScreen->CreateScreenResources) (pScreen))
                FatalError("failed to create screen resources");
        }

        for (i = 0; i < screenInfo.numScreens; i++) {
            ScreenPtr pScreen = screenInfo.screens[i];

            if (!CreateScratchPixmapsForScreen(pScreen))
                FatalError("failed to create scratch pixmaps");
            if (pScreen->CreateScreenResources &&
                !(*pScreen->CreateScreenResources) (pScreen))
                FatalError("failed to create screen resources");
            if (!CreateGCperDepth(i))
                FatalError("failed to create scratch GCs");
            if (!CreateDefaultStipple(i))
                FatalError("failed to create default stipple");
            if (!CreateRootWindow(pScreen))
                FatalError("failed to create root window");
        }

        InitFonts();
        if (SetDefaultFontPath(defaultFontPath) != Success) {
            ErrorF("[dix] failed to set default font path '%s'",
                   defaultFontPath);
        }
        if (!SetDefaultFont(defaultTextFont)) {
            FatalError("could not open default font '%s'", defaultTextFont);
        }

        if (!(rootCursor = CreateRootCursor(NULL, 0))) {
            FatalError("could not open default cursor font '%s'",
                       defaultCursorFont);
        }

#ifdef DPMSExtension
        /* check all screens, looking for DPMS Capabilities */
        DPMSCapableFlag = DPMSSupported();
        if (!DPMSCapableFlag)
            DPMSEnabled = FALSE;
#endif

#ifdef PANORAMIX
        /*
         * Consolidate window and colourmap information for each screen
         */
        if (!noPanoramiXExtension)
            PanoramiXConsolidate();
#endif

        for (i = 0; i < screenInfo.numScreens; i++)
            InitRootWindow(screenInfo.screens[i]->root);

        InitCoreDevices();
        InitInput(argc, argv);
        InitAndStartDevices();
        ReserveClientIds(serverClient);

        dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);

        dixCloseRegistry();

#ifdef PANORAMIX
        if (!noPanoramiXExtension) {
            if (!PanoramiXCreateConnectionBlock()) {
                FatalError("could not create connection block info");
            }
        }
        else
#endif
        {
            if (!CreateConnectionBlock()) {
                FatalError("could not create connection block info");
            }
        }

#ifdef XQUARTZ
        /* Let the other threads know the server is done with its init */
        pthread_mutex_lock(&serverRunningMutex);
        serverRunning = TRUE;
        pthread_cond_broadcast(&serverRunningCond);
        pthread_mutex_unlock(&serverRunningMutex);
#endif

        NotifyParentProcess();

        #ifdef _MSC_VER
        // initialise here because doing it in InitInput failes because keyboard device is not started yet then
        winInitializeModeKeyStates ();
        #endif

        Dispatch();

#ifdef XQUARTZ
        /* Let the other threads know the server is no longer running */
        pthread_mutex_lock(&serverRunningMutex);
        serverRunning = FALSE;
        pthread_mutex_unlock(&serverRunningMutex);
#endif

        UndisplayDevices();
        DisableAllDevices();

        /* Now free up whatever must be freed */
        if (screenIsSaved == SCREEN_SAVER_ON)
            dixSaveScreens(serverClient, SCREEN_SAVER_OFF, ScreenSaverReset);
        FreeScreenSaverTimer();
        CloseDownExtensions();

#ifdef PANORAMIX
        {
            Bool remember_it = noPanoramiXExtension;

            noPanoramiXExtension = TRUE;
            FreeAllResources();
            noPanoramiXExtension = remember_it;
        }
#else
        FreeAllResources();
#endif

        CloseInput();

        for (i = 0; i < screenInfo.numScreens; i++)
            screenInfo.screens[i]->root = NullWindow;

        CloseDownDevices();

        CloseDownEvents();

        for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
            ScreenPtr pScreen = screenInfo.gpuscreens[i];
            FreeScratchPixmapsForScreen(pScreen);
            (*pScreen->CloseScreen) (pScreen);
            dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
            free(pScreen);
            screenInfo.numGPUScreens = i;
        }

        for (i = screenInfo.numScreens - 1; i >= 0; i--) {
            FreeScratchPixmapsForScreen(screenInfo.screens[i]);
            FreeGCperDepth(i);
            FreeDefaultStipple(i);
            dixFreeScreenSpecificPrivates(screenInfo.screens[i]);
            (*screenInfo.screens[i]->CloseScreen) (screenInfo.screens[i]);
            dixFreePrivates(screenInfo.screens[i]->devPrivates, PRIVATE_SCREEN);
            free(screenInfo.screens[i]);
            screenInfo.numScreens = i;
        }

        ReleaseClientIds(serverClient);
        dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);
        serverClient->devPrivates = NULL;

	dixFreeRegistry();

        FreeFonts();

        FreeAllAtoms();

        FreeAuditTimer();

        DeleteCallbackManager();

        if (dispatchException & DE_TERMINATE) {
            CloseWellKnownConnections();
        }

        OsCleanup((dispatchException & DE_TERMINATE) != 0);

        if (dispatchException & DE_TERMINATE) {
            ddxGiveUp(EXIT_NO_ERROR);
            break;
        }

        free(ConnectionInfo);
        ConnectionInfo = NULL;
    }
    return 0;
}
Esempio n. 26
0
/*--------------------------------------------------------------------------*/
KeyboardWin::KeyboardWin() : PegDialog()
{
    PegRect ChildRect;

    mReal.Set(0, 0, 319, 239);
    InitClient();
    Add (new PegTitle("Enter Value", TF_CLOSEBUTTON));

    ChildRect.Set(205, 210, 284, 231);
    Add(new KeypadButton(ChildRect, "Cancel", IDB_CANCEL, AF_ENABLED));
    ChildRect.Set(121, 210, 200, 231);
    Add(new KeypadButton(ChildRect, "Clear", IDB_CLEAR, AF_ENABLED));
    ChildRect.Set(37, 210, 116, 231);
    Add(new KeypadButton(ChildRect, "OK", IDB_OK, AF_ENABLED));
    ChildRect.Set(33, 178, 81, 199);
    Add(new KeypadButton(ChildRect, "Shift", IDB_SHIFT));

    ChildRect.Set(85, 178, 236, 199);
    mpSpaceKey = new KeypadButton(ChildRect, " ", IDB_LETTER);
    Add(mpSpaceKey);

    ChildRect.Set(241, 178, 289, 199);
    Add(new KeypadButton(ChildRect, "BS", IDB_BACK));

    ChildRect.Set(33, 29, 286, 48);
//    mpValue = new PegPrompt(ChildRect, "_", IDP_VALUE, FF_RECESSED|TJ_LEFT|TT_COPY);
//    Add(mpValue);
    
    mpValue = new PegString(ChildRect, NULL, IDP_VALUE, FF_RECESSED|TJ_LEFT|TT_COPY|EF_EDIT);
//    Add(mpValue);

    ChildRect.Set(292, 61, 313, 82);
    Add(new KeypadButton(ChildRect, "+", IDB_LETTER));
    ChildRect.Set(266, 61, 287, 82);
    Add(new KeypadButton(ChildRect, "_", IDB_LETTER));
    ChildRect.Set(240, 61, 261, 82);
    Add(new KeypadButton(ChildRect, ")", IDB_LETTER));
    ChildRect.Set(214, 61, 235, 82);
    Add(new KeypadButton(ChildRect, "(", IDB_LETTER));
    ChildRect.Set(188, 61, 209, 82);
    Add(new KeypadButton(ChildRect, "*", IDB_LETTER));
    ChildRect.Set(162, 61, 183, 82);
    Add(new KeypadButton(ChildRect, "&", IDB_LETTER));
    ChildRect.Set(136, 61, 157, 82);
    Add(new KeypadButton(ChildRect, "^", IDB_LETTER));
    ChildRect.Set(110, 61, 131, 82);
    Add(new KeypadButton(ChildRect, "%", IDB_LETTER));
    ChildRect.Set(84, 61, 105, 82);
    Add(new KeypadButton(ChildRect, "$", IDB_LETTER));
    ChildRect.Set(58, 61, 79, 82);
    Add(new KeypadButton(ChildRect, "#", IDB_LETTER));
    ChildRect.Set(32, 61, 53, 82);
    Add(new KeypadButton(ChildRect, "@", IDB_LETTER));

    ChildRect.Set(6, 61, 27, 82);
    mpOneKey = new KeypadButton(ChildRect, "!", IDB_LETTER);
    Add(mpOneKey);

    ChildRect.Set(267, 150, 288, 171);
    mpQuestionKey = new KeypadButton(ChildRect, "?", IDB_LETTER);
    Add(mpQuestionKey);

    ChildRect.Set(241, 150, 262, 171);
    Add(new KeypadButton(ChildRect, ">", IDB_LETTER));
    ChildRect.Set(215, 150, 236, 171);
    Add(new KeypadButton(ChildRect, "<", IDB_LETTER));
    ChildRect.Set(189, 150, 210, 171);
    Add(new KeypadButton(ChildRect, "M", IDB_LETTER));
    ChildRect.Set(163, 150, 184, 171);
    Add(new KeypadButton(ChildRect, "N", IDB_LETTER));
    ChildRect.Set(137, 150, 158, 171);
    Add(new KeypadButton(ChildRect, "B", IDB_LETTER));
    ChildRect.Set(111, 150, 132, 171);
    Add(new KeypadButton(ChildRect, "V", IDB_LETTER));
    ChildRect.Set(85, 150, 106, 171);
    Add(new KeypadButton(ChildRect, "C", IDB_LETTER));
    ChildRect.Set(59, 150, 80, 171);
    Add(new KeypadButton(ChildRect, "X", IDB_LETTER));

    ChildRect.Set(33, 150, 54, 171);
    mpZKey = new KeypadButton(ChildRect, "Z", IDB_LETTER);
    Add(mpZKey);

    ChildRect.Set(280, 122, 301, 143);
    Add(new KeypadButton(ChildRect, "\"", IDB_LETTER));
    ChildRect.Set(254, 122, 275, 143);
    Add(new KeypadButton(ChildRect, ":", IDB_LETTER));
    ChildRect.Set(228, 122, 249, 143);
    Add(new KeypadButton(ChildRect, "L", IDB_LETTER));
    ChildRect.Set(202, 122, 223, 143);
    Add(new KeypadButton(ChildRect, "K", IDB_LETTER));
    ChildRect.Set(176, 122, 197, 143);
    Add(new KeypadButton(ChildRect, "J", IDB_LETTER));
    ChildRect.Set(150, 122, 171, 143);
    Add(new KeypadButton(ChildRect, "H", IDB_LETTER));
    ChildRect.Set(124, 122, 145, 143);
    Add(new KeypadButton(ChildRect, "G", IDB_LETTER));
    ChildRect.Set(98, 122, 119, 143);
    Add(new KeypadButton(ChildRect, "F", IDB_LETTER));
    ChildRect.Set(72, 122, 93, 143);
    Add(new KeypadButton(ChildRect, "D", IDB_LETTER));
    ChildRect.Set(46, 122, 67, 143);
    Add(new KeypadButton(ChildRect, "S", IDB_LETTER));
    ChildRect.Set(20, 122, 41, 143);
    Add(new KeypadButton(ChildRect, "A", IDB_LETTER));
    ChildRect.Set(292, 94, 313, 115);
    Add(new KeypadButton(ChildRect, "}", IDB_LETTER));
    ChildRect.Set(266, 94, 287, 115);
    Add(new KeypadButton(ChildRect, "{", IDB_LETTER));
    ChildRect.Set(240, 94, 261, 115);
    Add(new KeypadButton(ChildRect, "P", IDB_LETTER));
    ChildRect.Set(214, 94, 235, 115);
    Add(new KeypadButton(ChildRect, "O", IDB_LETTER));
    ChildRect.Set(188, 94, 209, 115);
    Add(new KeypadButton(ChildRect, "I", IDB_LETTER));
    ChildRect.Set(162, 94, 183, 115);
    Add(new KeypadButton(ChildRect, "U", IDB_LETTER));
    ChildRect.Set(136, 94, 157, 115);
    Add(new KeypadButton(ChildRect, "Y", IDB_LETTER));
    ChildRect.Set(110, 94, 131, 115);
    Add(new KeypadButton(ChildRect, "T", IDB_LETTER));
    ChildRect.Set(84, 94, 105, 115);
    Add(new KeypadButton(ChildRect, "R", IDB_LETTER));
    ChildRect.Set(58, 94, 79, 115);
    Add(new KeypadButton(ChildRect, "E", IDB_LETTER));
    ChildRect.Set(32, 94, 53, 115);
    Add(new KeypadButton(ChildRect, "W", IDB_LETTER));
    ChildRect.Set(6, 94, 27, 115);
    Add(new KeypadButton(ChildRect, "Q", IDB_LETTER));
    /* WB End Construction */

    mbCaps = TRUE;
    Add(mpValue);
}
Esempio n. 27
0
int main(int argc, char *argv[])
{
    int		    loop = 1;
    struct passwd   *pw;

    /*
     * Find out who is on the keyboard or automated the keyboard.
     */
    pw = getpwuid(geteuid());
    if (strcmp(pw->pw_name, (char *)"ftnd")) {
	printf("ERROR: only user \"ftnd\" may use this program\n");
        exit(FTNERR_INIT_ERROR);
    }

    /*
     * Read the global configuration data, registrate connection
     */
    config_check(getenv("FTND_ROOT"));
    config_read();
    if (strlen(CFG.debuglog) == 0)
	snprintf(CFG.debuglog, 15, "debug.log");
    InitClient(pw->pw_name, (char *)"ftnsetup", CFG.location, CFG.logfile, 0x1f, CFG.error_log, CFG.mgrlog, CFG.debuglog);

    /*
     * Setup several signals so when the program terminate's it
     * will properly close the curses screens.
     */
    signal(SIGINT, (void (*))die);
    signal(SIGBUS, (void (*))die);
    signal(SIGSEGV,(void (*))die);
    signal(SIGTERM,(void (*))die);
    signal(SIGKILL,(void (*))die);
    signal(SIGIOT, (void (*))die);

    oldmask = umask(002);

    do_quiet = TRUE;
    Syslog(' ', " ");
    Syslog(' ', "FTNSETUP v%s started by %s", VERSION, pw->pw_name);
    if (init)
	Syslog('+', "Cmd: ftnsetup init");

    if ((argc == 2) && (strncmp(tl(argv[1]), "i", 1) == 0))
	init = TRUE;
    else
	screen_start((char *)"ftnsetup");
    
    if (lockprogram((char *)"ftnsetup")) {
	printf("\n\7Another ftnsetup is already running, abort.\n\n");
	die(FTNERR_NO_PROGLOCK);
    }

    bbs_free = FALSE;
    initdatabases();
	
    if (!init) {
	do {
	    IsDoing("Browsing Menu");
	    clr_index();
	    set_color(WHITE, BLACK);
	    ftnd_mvprintw( 5, 6, "0.    MAIN SETUP");
	    set_color(CYAN, BLACK);
	    ftnd_mvprintw( 7, 6, "1.    Edit Global configuration");
	    ftnd_mvprintw( 8, 6, "2.    Edit Fido Networks");
	    ftnd_mvprintw( 9, 6, "3.    Edit Archiver Programs");
	    ftnd_mvprintw(10, 6, "4.    Edit Virus Scanners");
	    ftnd_mvprintw(11, 6, "5.    Edit Modem types");
	    ftnd_mvprintw(12, 6, "6.    Edit TTY lines info");
	    ftnd_mvprintw(13, 6, "7.    Edit Fidonet Nodes");
	    ftnd_mvprintw(14, 6, "8.    Edit BBS Setup");
	    ftnd_mvprintw(15, 6, "9.    Edit Mail Setup");
	    ftnd_mvprintw(16, 6, "10.   Edit File Echo's setup");
	    ftnd_mvprintw(17, 6, "11.   Edit Newfiles Groups");
	    ftnd_mvprintw( 7,46, "12.   Edit Newfiles Reports");
	    ftnd_mvprintw( 8,46, "13.   Edit FileFind Setup");
	    ftnd_mvprintw( 9,46, "14.   Edit Files Database");
	    ftnd_mvprintw(10,46, "15.   Edit BBS Users");
	    ftnd_mvprintw(11,46, "16.   Edit Services");
	    ftnd_mvprintw(12,46, "17.   Edit Domains");
	    ftnd_mvprintw(13,46, "18.   Edit Task Manager");
	    ftnd_mvprintw(14,46, "19.   Edit Routing Table");
	    ftnd_mvprintw(15,46, "20.   Edit Internet BBS Chat");
	    ftnd_mvprintw(16,46, "21.   Show software information");
	    ftnd_mvprintw(17,46, "22.   Create site documents");
 
	    switch(select_menu(22)) {
		case 0:
			loop = 0;
			break;
		case 1:
			global_menu();
			break;
		case 2:
			EditFidonet();
			break;
		case 3:
			EditArchive();
			break;
		case 4:
			EditVirus();
			break;
		case 5:
			EditModem();
			break;
		case 6:
			EditTtyinfo();
			break;
		case 7:
			EditNodes();
			break;
		case 8:
			bbs_menu();
			break;
		case 9:
			mail_menu();
			break;
		case 10:
			tic_menu();
			break;
		case 11:
			EditNGroup();
			break;
		case 12:	
			EditNewfiles();
			break;
		case 13:
			EditFilefind();
			break;
		case 14:
			EditFDB();
			break;
		case 15:
			EditUsers();
			break;
		case 16:
			EditService();
			break;
		case 17:
			EditDomain();
			break;
		case 18:
			task_menu();
			break;
		case 19:
			EditRoute();
			break;
		case 20:
			EditIBC();
			break;
		case 21:
			soft_info();
			break;
		case 22:
			site_docs();
			break;
	    }
	} while (loop == 1);
    }

    die(FTNERR_OK);
    return 0;
}
Esempio n. 28
0
CodeTorrent::CodeTorrent(int in_field_size,  int in_num_blocks_per_gen, int in_block_size,
        const char *in_filename, int in_file_size) {

	InitClient(in_field_size, in_num_blocks_per_gen, in_block_size, in_filename, in_file_size, false);
	nc = new NC(field_size, false);
}
int
main(int argc, char *argv[])
{
    int         i, oldumask;

    argcGlobal = argc;
    argvGlobal = argv;

    configfilename = NULL;

    /* init stuff */
    ProcessCmdLine(argc, argv);

    /*
     * Do this first thing, to get any options that only take effect at
     * startup time.  It is read again each time the server resets.
     */
    if (ReadConfigFile(configfilename) != FSSuccess) {
	FatalError("couldn't read config file\n");
    }
    InitErrors();

    /* make sure at least world write access is disabled */
    if (((oldumask = umask(022)) & 002) == 002)
	(void)umask(oldumask);

    SetDaemonState();
    SetUserId();

    while (1) {
	serverGeneration++;
	OsInit();
	if (serverGeneration == 1) {
	    /* do first time init */
	    CreateSockets(OldListenCount, OldListen);
	    InitProcVectors();
	    clients = (ClientPtr *) fsalloc(MAXCLIENTS * sizeof(ClientPtr));
	    if (!clients)
		FatalError("couldn't create client array\n");
	    for (i = MINCLIENT; i < MAXCLIENTS; i++)
		clients[i] = NullClient;
	    /* make serverClient */
	    serverClient = (ClientPtr) fsalloc(sizeof(ClientRec));
	    if (!serverClient)
		FatalError("couldn't create server client\n");
	}
	ResetSockets();

	/* init per-cycle stuff */
	InitClient(serverClient, SERVER_CLIENT, (pointer) 0);

	clients[SERVER_CLIENT] = serverClient;
	currentMaxClients = MINCLIENT;
	currentClient = serverClient;

	if (!InitClientResources(serverClient))
	    FatalError("couldn't init server resources\n");

	InitAtoms();
	InitFonts();
	SetConfigValues();
	if (!create_connection_block())
	    FatalError("couldn't create connection block\n");

#ifdef DEBUG
	fprintf(stderr, "Entering Dispatch loop\n");
#endif

	Dispatch();

#ifdef DEBUG
	fprintf(stderr, "Leaving Dispatch loop\n");
#endif

	/* clean up per-cycle stuff */
	if ((dispatchException & DE_TERMINATE) || drone_server)
	    break;
	fsfree(ConnectionInfo);
	/* note that we're parsing it again, for each time the server resets */
	if (ReadConfigFile(configfilename) != FSSuccess)
	    FatalError("couldn't read config file\n");
    }

    CloseSockets();
    CloseErrors();
    exit(0);
}
Esempio n. 30
0
int main(int argc, char **argv)
{
    int		    i, Mail = FALSE;
    char	    *cmd;
    struct passwd   *pw;
    struct tm	    *t;

    InitConfig();
    ftnd_TermInit(1, 80, 25);
    t_start = time(NULL);
    t = localtime(&t_start);
    Diw = t->tm_wday;
    Miy = t->tm_mon;
    umask(002);

	
    /*
     * Catch all signals we can, and ignore the rest.
     */
    for (i = 0; i < NSIG; i++) {
	if ((i == SIGHUP) || (i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM) || (i == SIGIOT))
	    signal(i, (void (*))die);
	else if ((i != SIGKILL) && (i != SIGSTOP))
	    signal(i, SIG_IGN);
    }

    if (argc < 2)
	Help();

    cmd = xstrcpy((char *)"Command line: ftnaff");

    for (i = 1; i < argc; i++) {

	cmd = xstrcat(cmd, (char *)" ");
	cmd = xstrcat(cmd, tl(argv[i]));

	if (!strncmp(argv[i], "a", 1))
	    do_announce = TRUE;
	if (!strncmp(argv[i], "f", 1))
	    do_filefind = TRUE;
	if (!strncmp(argv[i], "-q", 2))
	    do_quiet = TRUE;

    }

    ProgName();
    pw = getpwuid(getuid());
    InitClient(pw->pw_name, (char *)"ftnaff", CFG.location, CFG.logfile, 
	    CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog);

    Syslog(' ', " ");
    Syslog(' ', "FTNDAFF v%s", VERSION);
    Syslog(' ', cmd);
    free(cmd);

    if (!do_quiet)
	printf("\n");

    if (enoughspace(CFG.freespace) == 0)
	die(FTNERR_DISK_FULL);

    if (lockprogram((char *)"ftnaff")) {
	if (!do_quiet)
	    printf("Can't lock ftnaff, abort.\n");
	die(FTNERR_NO_PROGLOCK);
    }

    memset(&MsgBase, 0, sizeof(MsgBase));

    if (do_announce)
	if (Announce())
	    Mail = TRUE;

    if (do_filefind)
	if (Filefind())
	    Mail = TRUE;

    if (Mail) {
	CreateSema((char *)"mailout");
	CreateSema((char *)"msglink");
    }

    die(FTNERR_OK);
    return 0;
}