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.
 
 
 
 
 
 

98 lines
3.0 KiB

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation
//
// SYNOPSIS
//
// Declares the class LocalFile
//
///////////////////////////////////////////////////////////////////////////////
#ifndef LOCALFILE_H
#define LOCALFILE_H
#pragma once
#include "lmcons.h"
#include "account.h"
#include "logfile.h"
#include "resource.h"
class FormattedBuffer;
///////////////////////////////////////////////////////////////////////////////
//
// CLASS
//
// LocalFile
//
///////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE LocalFile
: public Accountant,
public CComCoClass<LocalFile, &__uuidof(Accounting)>
{
public:
IAS_DECLARE_REGISTRY(Accounting, 1, IAS_REGISTRY_AUTO, IASTypeLibrary)
IAS_DECLARE_OBJECT_ID(IAS_PROVIDER_MICROSOFT_ACCOUNTING)
LocalFile() throw ();
protected:
// IIasComponent
STDMETHOD(Initialize)();
STDMETHOD(Shutdown)();
STDMETHOD(PutProperty)(LONG Id, VARIANT* pValue);
private:
virtual void Process(IASTL::IASRequest& request);
virtual void InsertRecord(
void* context,
IASTL::IASRequest& request,
const SYSTEMTIME& localTime,
PATTRIBUTEPOSITION first,
PATTRIBUTEPOSITION last
);
virtual void Flush(
void* context,
IASTL::IASRequest& request,
const SYSTEMTIME& localTime
);
// Signature of a record formatter.
typedef void (__stdcall LocalFile::*Formatter)(
IASTL::IASRequest& request,
FormattedBuffer& buffer,
const SYSTEMTIME& localTime,
PATTRIBUTEPOSITION firstPos,
PATTRIBUTEPOSITION lastPos
) const;
// Formatter for ODBC records.
void __stdcall formatODBCRecord(
IASTL::IASRequest& request,
FormattedBuffer& buffer,
const SYSTEMTIME& localTime,
PATTRIBUTEPOSITION firstPos,
PATTRIBUTEPOSITION lastPos
) const;
// Formatter for W3C records.
void __stdcall formatW3CRecord(
IASTL::IASRequest& request,
FormattedBuffer& buffer,
const SYSTEMTIME& localTime,
PATTRIBUTEPOSITION firstPos,
PATTRIBUTEPOSITION lastPos
) const;
LogFile log; // Log file.
Formatter format; // Pointer to member function being used for formatting.
// Cached computername in UTF-8.
CHAR computerName[MAX_COMPUTERNAME_LENGTH * 3];
DWORD computerNameLen;
};
#endif // LOCALFILE_H