Annotation of mstools/mfc/samples/minsvr/minsvr.cpp, revision 1.1

1.1     ! root        1: // This is a part of the Microsoft Foundation Classes C++ library.
        !             2: // Copyright (C) 1992 Microsoft Corporation
        !             3: // All rights reserved.
        !             4: //
        !             5: // This source code is only intended as a supplement to the
        !             6: // Microsoft Foundation Classes Reference and Microsoft
        !             7: // QuickHelp documentation provided with the library.
        !             8: // See these sources for detailed information regarding the
        !             9: // Microsoft Foundation Classes product.
        !            10: 
        !            11: #include "minsvr.h"
        !            12: 
        !            13: /////////////////////////////////////////////////////////////////////////////
        !            14: // One instance per client
        !            15: 
        !            16: CMinApp app;
        !            17: 
        !            18: BOOL CMinApp::InitInstance()
        !            19: {
        !            20:        BOOL bEmbedded = FALSE;
        !            21: 
        !            22:        // check if run with /Embedding
        !            23:        LPCSTR lpsz = m_lpCmdLine;
        !            24: 
        !            25:        while (*lpsz == ' ')
        !            26:                lpsz++;
        !            27:        if ((*lpsz == '-' || *lpsz == '/') &&
        !            28:                _fstrncmp("Embedding", lpsz+1, 9) == 0)
        !            29:        {
        !            30:                lpsz += 10;
        !            31:                bEmbedded = TRUE;
        !            32:        }
        !            33: 
        !            34:        if (!bEmbedded)
        !            35:        {
        !            36:                // register as a server
        !            37:                if (AfxOleRegisterServerName(SERVER_NAME, SERVER_LOCAL_NAME))
        !            38:                {
        !            39:                        MessageBox(NULL,
        !            40:                                "Server Registered, please run from within host application.",
        !            41:                                AfxGetAppName(), MB_OK);
        !            42:                }
        !            43:                else
        !            44:                {
        !            45:                        MessageBox(NULL,
        !            46:                                "Server failed to register, try using REGEDIT.",
        !            47:                                AfxGetAppName(), MB_OK);
        !            48:                }
        !            49: 
        !            50:                return FALSE;
        !            51:        }
        !            52:        // MinApp ignores rest of command line - normally use this as a
        !            53:        //   document file name
        !            54: 
        !            55:        CMainWnd* pWnd = new CMainWnd;
        !            56:        m_pMainWnd = pWnd;
        !            57:        pWnd->ShowWindow(m_nCmdShow);
        !            58:        pWnd->UpdateWindow();
        !            59: 
        !            60:        if (!pWnd->m_server.Register(SERVER_NAME, TRUE))
        !            61:                 // multi-instance server
        !            62:        {
        !            63:                MessageBox(NULL, "couldn't register server", AfxGetAppName(), MB_OK);
        !            64:                return FALSE;
        !            65:        }
        !            66: 
        !            67:        return TRUE;
        !            68: }
        !            69: 
        !            70: int CMinApp::ExitInstance()
        !            71: {
        !            72:        // on exit, destroy the main window
        !            73:        if (m_pMainWnd != NULL)
        !            74:                VERIFY(m_pMainWnd->DestroyWindow());
        !            75:        return CWinApp::ExitInstance();
        !            76: }
        !            77: 
        !            78: /////////////////////////////////////////////////////////////////////////////
        !            79: // Minimum server
        !            80: 
        !            81: CMinServer::CMinServer(CMainWnd* pMainWnd)
        !            82:                        : COleServer(TRUE), m_doc()
        !            83: {
        !            84:        m_pMainWnd = pMainWnd;
        !            85: }
        !            86: 
        !            87: COleServerDoc* CMinServer::OnOpenDoc(LPCSTR)
        !            88: {
        !            89:        return &m_doc;
        !            90: }
        !            91: 
        !            92: COleServerDoc* CMinServer::OnCreateDoc(LPCSTR, LPCSTR)
        !            93: {
        !            94:        return &m_doc;
        !            95: }
        !            96: 
        !            97: COleServerDoc* CMinServer::OnEditDoc(LPCSTR, LPCSTR)
        !            98: {
        !            99:        return &m_doc;
        !           100: }
        !           101: 
        !           102: /////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.