using CppSharp.Generators;
public static void Main()
ConsoleDriver.Run(new DepthAI());
public void Setup(Driver driver)
var options = driver.Options;
options.GeneratorKind = GeneratorKind.CSharp;
var module = options.AddModule("DepthAI");
var headerPath = @"D:\experiment\oak\depthai-core\include\depthai";
module.IncludeDirs.Add(headerPath);
var sharedHeader = @"D:\experiment\oak\depthai-core\shared\depthai-shared\include";
module.IncludeDirs.Add(sharedHeader);
module.IncludeDirs.Add(@"D:\experiment\oak\libs\libnop\include");
module.IncludeDirs.Add(@"D:\experiment\oak\libs\json\include");
module.IncludeDirs.Add(@"D:\experiment\oak\depthai-core\include");
module.IncludeDirs.Add(@"D:\experiment\oak\libs\XLink\include");
module.IncludeDirs.Add(@"D:\experiment\oak\depthai-core\shared\depthai-shared\3rdparty");
module.IncludeDirs.Add(@"D:\experiment\oak\depthai-core\shared\depthai-bootloader-shared\include");
module.LibraryDirs.Add(@"D:\experiment\oak\depthai-core\build\Debug");
module.Headers.Add("depthai.hpp");
options.OutputDir = "depthai";
public void SetupPasses(Driver driver)
driver.Context.TranslationUnitPasses.RenameDeclsUpperCase(RenameTargets.Any);
driver.Context.TranslationUnitPasses.AddPass(new FunctionToInstanceMethodPass());
public void Preprocess(Driver driver, ASTContext ctx)
ctx.IgnoreHeadersWithName("DataQueue*");
public void Postprocess(Driver driver, ASTContext ctx)