JSBEnum.h 714 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. using namespace Atomic;
  4. namespace ToolCore
  5. {
  6. class JSBModule;
  7. class JSBHeader;
  8. class JSBEnum : public Object
  9. {
  10. OBJECT(JSBEnum)
  11. public:
  12. JSBEnum(Context* context, JSBModule* module, const String& name);
  13. virtual ~JSBEnum();
  14. const String& GetName() { return name_; }
  15. JSBHeader* GetHeader() { return header_; }
  16. Vector<String>& GetValues() { return values_; }
  17. void SetHeader(JSBHeader* header) { header_ = header; }
  18. void Preprocess();
  19. void AddValue(const String& value) { values_.Push(value); }
  20. private:
  21. String name_;
  22. SharedPtr<JSBModule> module_;
  23. Vector<String> values_;
  24. JSBHeader* header_;
  25. };
  26. }