FLEXRuntimeController.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // FLEXRuntimeController.h
  3. // FLEX
  4. //
  5. // Created by Tanner on 3/23/17.
  6. // Copyright © 2017 Tanner Bennett. All rights reserved.
  7. //
  8. #import "FLEXRuntimeKeyPath.h"
  9. /// Wraps FLEXRuntimeClient and provides extra caching mechanisms
  10. @interface FLEXRuntimeController : NSObject
  11. /// @return An array of strings if the key path only evaluates
  12. /// to a class or bundle; otherwise, a list of lists of FLEXMethods.
  13. + (NSArray *)dataForKeyPath:(FLEXRuntimeKeyPath *)keyPath;
  14. /// Useful when you need to specify which classes to search in.
  15. /// \c dataForKeyPath: will only search classes matching the class key.
  16. /// We use this elsewhere when we need to search a class hierarchy.
  17. + (NSArray<NSArray<FLEXMethod *> *> *)methodsForToken:(FLEXSearchToken *)token
  18. instance:(NSNumber *)onlyInstanceMethods
  19. inClasses:(NSArray<NSString*> *)classes;
  20. /// Useful when you need the classes that are associated with the
  21. /// double list of methods returned from \c dataForKeyPath
  22. + (NSMutableArray<NSString *> *)classesForKeyPath:(FLEXRuntimeKeyPath *)keyPath;
  23. + (NSString *)shortBundleNameForClass:(NSString *)name;
  24. + (NSString *)imagePathWithShortName:(NSString *)suffix;
  25. /// Gives back short names. For example, "Foundation.framework"
  26. + (NSArray<NSString*> *)allBundleNames;
  27. @end