summaryrefslogtreecommitdiffhomepage
path: root/dev/libDDK/DriverKit/dki/contract.h
blob: 23884e0263cf0c9f0ce4180238f09c84b10efd80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* -------------------------------------------

   Copyright Amlal El Mahrouss 2025, all rights reserved.

   FILE: ddk.h
   PURPOSE: Driver Kernel Interface Model base header.

   ------------------------------------------- */

#pragma once

#include <CompilerKit/CompilerKit.h>
#include <DriverKit/macros.h>

#define DKI_CONTRACT_IMPL : public ::Kernel::DKIContract

/// @author Amlal El Mahrouss

namespace Kernel::DKI {
class DKIContract {
 public:
  explicit DKIContract() = default;
  virtual ~DKIContract() = default;

  NE_COPY_DEFAULT(DKIContract);

  virtual BOOL    IsCastable() { return false; }
  virtual BOOL    IsActive() { return false; }
  virtual VoidPtr Leak() { return nullptr; }
  virtual Int32   Type() { return 0; }
};
}  // namespace Kernel::DKI