Home | History | Annotate | Download | only in Support
      1 //===- llvm/Support/COM.h ---------------------------------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 /// \file
     10 ///
     11 /// Provides a library for accessing COM functionality of the Host OS.
     12 ///
     13 //===----------------------------------------------------------------------===//
     14 
     15 #ifndef LLVM_SUPPORT_COM_H
     16 #define LLVM_SUPPORT_COM_H
     17 
     18 namespace llvm {
     19 namespace sys {
     20 
     21 enum class COMThreadingMode { SingleThreaded, MultiThreaded };
     22 
     23 class InitializeCOMRAII {
     24 public:
     25   explicit InitializeCOMRAII(COMThreadingMode Threading,
     26                              bool SpeedOverMemory = false);
     27   ~InitializeCOMRAII();
     28 
     29 private:
     30   InitializeCOMRAII(const InitializeCOMRAII &) = delete;
     31   void operator=(const InitializeCOMRAII &) = delete;
     32 };
     33 }
     34 }
     35 
     36 #endif
     37