Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// adsqryDoc.cpp : implementation of the CAdsqryDoc class
//
#include "stdafx.h"
#include "adsqDoc.h"
#include "newquery.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CAdsqryDoc
IMPLEMENT_DYNCREATE(CAdsqryDoc, CDocument)
BEGIN_MESSAGE_MAP(CAdsqryDoc, CDocument) //{{AFX_MSG_MAP(CAdsqryDoc)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdsqryDoc construction/destruction
/***********************************************************
Function: Arguments: Return: Purpose: Author(s): Revision: Date: ***********************************************************/ CAdsqryDoc::CAdsqryDoc() { // TODO: add one-time construction code here
m_pDataSource = NULL; }
/***********************************************************
Function: Arguments: Return: Purpose: Author(s): Revision: Date: ***********************************************************/ CAdsqryDoc::~CAdsqryDoc() { if( m_pDataSource ) { delete m_pDataSource; } }
/***********************************************************
Function: Arguments: Return: Purpose: Author(s): Revision: Date: ***********************************************************/ BOOL CAdsqryDoc::OnNewDocument() { CNewQuery aNewQuery; CString strTitle; SEARCHPREF* pSearchPref;
if (!CDocument::OnNewDocument()) return FALSE;
if( aNewQuery.DoModal( ) != IDOK ) return FALSE;
pSearchPref = (SEARCHPREF*) AllocADsMem( sizeof(SEARCHPREF) ); if( NULL == pSearchPref ) return FALSE;
pSearchPref->bEncryptPassword = FALSE; pSearchPref->bUseSQL = FALSE; pSearchPref->nAsynchronous = -1; pSearchPref->nDerefAliases = -1; pSearchPref->nSizeLimit = -1; pSearchPref->nTimeLimit = -1; pSearchPref->nAttributesOnly = -1; pSearchPref->nScope = -1; pSearchPref->nTimeOut = -1; pSearchPref->nPageSize = -1; pSearchPref->nChaseReferrals = -1;
_tcscpy( pSearchPref->szSource, aNewQuery.m_strSource ); _tcscpy( pSearchPref->szQuery, aNewQuery.m_strQuery ); _tcscpy( pSearchPref->szAttributes, aNewQuery.m_strAttributes ); _tcscpy( pSearchPref->szScope, aNewQuery.m_strScope ); _tcscpy( pSearchPref->szUserName, aNewQuery.m_strUser ); _tcscpy( pSearchPref->szPassword, aNewQuery.m_strPassword );
pSearchPref->bEncryptPassword = aNewQuery.m_bEncryptPassword; pSearchPref->bUseSQL = aNewQuery.m_bUseSQL;
if( !GetSearchPreferences( pSearchPref ) ) return FALSE;
if( aNewQuery.m_bUseSearch ) { m_pDataSource = new CADsSearchDataSource; } else { m_pDataSource = new CADsOleDBDataSource; }
m_pDataSource->SetQueryParameters( pSearchPref );
FreeADsMem( pSearchPref );
strTitle = aNewQuery.m_strSource + _T(" ")+ aNewQuery.m_strQuery + _T(" ")+ aNewQuery.m_strAttributes;
m_pDataSource->RunTheQuery( );
SetTitle( strTitle );
return TRUE; }
/***********************************************************
Function: Arguments: Return: Purpose: Author(s): Revision: Date: ***********************************************************/ BOOL CAdsqryDoc::GetSearchPreferences( SEARCHPREF* pSearchPref ) { CSearchPreferencesDlg aSearchPref;
if( aSearchPref.DoModal( ) != IDOK ) { return FALSE; } //***************************************************************************
if( !aSearchPref.m_strAsynchronous.IsEmpty( ) ) { if( !aSearchPref.m_strAsynchronous.CompareNoCase( _T("Yes") ) ) { pSearchPref->nAsynchronous = 1; } else { pSearchPref->nAsynchronous = 0; } }
//***************************************************************************
if( !aSearchPref.m_strChaseReferrals.IsEmpty( ) ) { if( !aSearchPref.m_strChaseReferrals.CompareNoCase( _T("Yes") ) ) { pSearchPref->nChaseReferrals = 1; } else { pSearchPref->nChaseReferrals = 0; } } //***************************************************************************
if( !aSearchPref.m_strAttributesOnly.IsEmpty( ) ) { if( !aSearchPref.m_strAttributesOnly.CompareNoCase( _T("Yes") ) ) { pSearchPref->nAttributesOnly = 1; } else { pSearchPref->nAttributesOnly = 0; } }
//***************************************************************************
if( !aSearchPref.m_strDerefAliases.IsEmpty( ) ) { if( !aSearchPref.m_strDerefAliases.CompareNoCase( _T("Yes") ) ) { pSearchPref->nDerefAliases = 1; } else { pSearchPref->nDerefAliases = 0; } }
//***************************************************************************
if( !aSearchPref.m_strTimeOut.IsEmpty( ) ) { pSearchPref->nTimeOut = _ttoi( aSearchPref.m_strTimeOut.GetBuffer( 16 ) ); }
//***************************************************************************
if( !aSearchPref.m_strTimeLimit.IsEmpty( ) ) { pSearchPref->nTimeLimit = _ttoi( aSearchPref.m_strTimeLimit.GetBuffer( 16 ) ); } //***************************************************************************
if( !aSearchPref.m_strSizeLimit.IsEmpty( ) ) { pSearchPref->nSizeLimit = _ttoi( aSearchPref.m_strSizeLimit.GetBuffer( 16 ) ); }
//***************************************************************************
if( !aSearchPref.m_strPageSize.IsEmpty( ) ) { pSearchPref->nPageSize = _ttoi( aSearchPref.m_strPageSize.GetBuffer( 16 ) ); }
//***************************************************************************
if( !aSearchPref.m_strScope.IsEmpty( ) ) { _tcscpy( pSearchPref->szScope, aSearchPref.m_strScope ); }
return TRUE; }
/////////////////////////////////////////////////////////////////////////////
// CAdsqryDoc serialization
/***********************************************************
Function: Arguments: Return: Purpose: Author(s): Revision: Date: ***********************************************************/ void CAdsqryDoc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: add storing code here
} else { // TODO: add loading code here
} }
/////////////////////////////////////////////////////////////////////////////
// CAdsqryDoc diagnostics
#ifdef _DEBUG
void CAdsqryDoc::AssertValid() const { CDocument::AssertValid(); }
void CAdsqryDoc::Dump(CDumpContext& dc) const { CDocument::Dump(dc); } #endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CAdsqryDoc commands
|