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.
 
 
 
 
 
 

71 lines
1.7 KiB

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation
//
// SYNOPSIS
//
// Declares the class TimeOfDay and functions for manipulating hour maps.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef TIMEOFDAY_H
#define TIMEOFDAY_H
#pragma once
#include "Condition.h"
#include "textmap.h"
// Returns true if the hour indicated by 'now' is set in the hour map.
bool IsHourSet(
const SYSTEMTIME& now,
const BYTE* hourMap
) throw ();
// Computes the number of seconds from 'now' until the first unset hour. If
// 'currentHourOnly' is true, it only checks the current hour block. Otherwise,
// it checks the entire map.
DWORD ComputeTimeout(
const SYSTEMTIME& now,
const BYTE* hourMap
) throw ();
// Imposes a Time of Day contraint for network policies.
class ATL_NO_VTABLE TimeOfDay
: public Condition,
public CComCoClass<TimeOfDay, &__uuidof(TimeOfDay)>
{
public:
IAS_DECLARE_REGISTRY(TimeOfDay, 1, IAS_REGISTRY_AUTO, NetworkPolicy)
TimeOfDay() throw ();
// Use compiler-generated version.
// ~TimeOfDay() throw ();
// ICondition
STDMETHOD(IsTrue)(
IRequest* pRequest,
VARIANT_BOOL* pVal
);
// IConditionText
STDMETHOD(put_ConditionText)(BSTR newVal);
private:
// Hour map being enforced.
BYTE hourMap[IAS_HOUR_MAP_LENGTH];
// Not implemented.
TimeOfDay(const TimeOfDay&);
TimeOfDay& operator=(const TimeOfDay&);
};
inline TimeOfDay::TimeOfDay() throw ()
{
memset(hourMap, 0, sizeof(hourMap));
}
#endif // TIMEOFDAY_H