Team Fortress 2 Source Code as on 22/4/2020
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.

73 lines
1.8 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #if !defined( CODEPROCESSOR_H )
  8. #define CODEPROCESSOR_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "icodeprocessor.h"
  13. class CCodeProcessor : public ICodeProcessor
  14. {
  15. public:
  16. CCodeProcessor( void );
  17. ~CCodeProcessor( void );
  18. void Process( const char *gamespecific, const char *root, const char *dsp, const char *config );
  19. void SetQuiet( bool quiet );
  20. bool GetQuiet( void ) const;
  21. void SetLogFile( bool log );
  22. bool GetLogFile( void ) const;
  23. private:
  24. void ProcessModule( bool forcequiet, int depth, int& maxdepth, int& numheaders, int& skippedfiles, const char *baseroot, const char *root, const char *module );
  25. void ProcessModules( const char *root, const char *rootmodule );
  26. void PrintResults( void );
  27. void ConstructModuleList_R( int level, const char *gamespecific, const char *root );
  28. void AddHeader( int depth, const char *filename, const char *rootmodule );
  29. void CreateBackup( const char *filename, bool& wasreadonly );
  30. void RestoreBackup( const char *filename, bool makereadonly );
  31. bool TryBuild( const char *rootdir, const char *filename, unsigned char *buffer, int filelength );
  32. int m_nModuleCount;
  33. typedef struct
  34. {
  35. char name[ 256 ];
  36. bool skipped;
  37. } CODE_MODULE;
  38. CODE_MODULE m_Modules[ 16384 ];
  39. int m_nHeaderCount;
  40. CODE_MODULE m_Headers[ 16384 ];
  41. bool m_bQuiet;
  42. bool m_bLogToFile;
  43. int m_nFilesProcessed;
  44. int m_nHeadersProcessed;
  45. int m_nOffset;
  46. int m_nBytesProcessed;
  47. int m_nLinesOfCode;
  48. double m_flStart;
  49. double m_flEnd;
  50. char m_szCurrentCPP[ 128 ];
  51. char m_szDSP[ 128 ];
  52. char m_szConfig[ 128 ];
  53. };
  54. extern ICodeProcessor *processor;
  55. #endif // CODEPROCESSOR_H