H5UniversalApp.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // H5UniversalApp.h
  3. // libPDRCore
  4. //
  5. // Created by DCloud on 2018/1/9.
  6. // Copyright © 2018年 DCloud. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #import "PDRCoreDefs.h"
  11. #import "H5CoreScreenEdgePan.h"
  12. @class DC5PAppStartParams;
  13. @class H5MultiDelegate;
  14. typedef NS_ENUM(NSInteger, PDRCoreAppStatus) {
  15. PDRCoreAppStatusNoStarted = 0,
  16. PDRCoreAppStatusLoaded,
  17. PDRCoreAppStatusActive,
  18. PDRCoreAppStatusDeActive,
  19. PDRCoreAppStatusStop,
  20. PDRCoreAppStatusEnd
  21. };
  22. @protocol H5UniversalApp <NSObject>
  23. @property (nonatomic, readonly)H5MultiDelegate *appDelegate;
  24. @property (nonatomic, readonly)DC5PAppStartParams *appSetting;
  25. @property (nonatomic, readonly)NSString *scheme;
  26. @property (nonatomic, readonly)PDRCoreAppStatus appStatus;
  27. @property (nonatomic, readonly)UIView *rootView;
  28. @property(nonatomic, assign)NSInteger lastOrientation;
  29. @property(nonatomic, assign)NSInteger orientationMask;
  30. - (id)initWithSetting:(DC5PAppStartParams*)appSetting;
  31. - (void)updateStartParams:(DC5PAppStartParams*)startParams;
  32. - (void)restart;
  33. - (void)restartWithOptions:(NSDictionary*)options;
  34. - (void)stop;
  35. - (void)resume;
  36. - (int)start;
  37. - (void)end;
  38. - (void)activeWithType:(NSString*)actType;
  39. - (void)deActive;
  40. - (id)handleSysEvent:(PDRCoreSysEvent)evt withObject:(id)object;
  41. - (void)handleCommand:(int)evtCode withParamer:(NSObject *)inP withResult:(NSObject **)result;
  42. - (BOOL)isSupportTrimMemory;
  43. - (BOOL)isAutoTerminateByRuntime;
  44. - (BOOL)isSupportEndAnimation;
  45. - (NSString*)getAppid;
  46. - (NSString*)getAppName;
  47. @end
  48. @interface H5UniversalApp :NSObject<H5UniversalApp,H5CoreScreenEdgePanDelegate> {
  49. @protected
  50. PDRCoreAppStatus _appStatus;
  51. }
  52. + (void)registerAppHandle:(Class)universalAppImp withScheme:(NSString*)scheme;
  53. - (UIView*)rootView;
  54. - (void)sendDelegateAppLoaded;
  55. - (void)sendDelegateAppWillStartLoad;
  56. - (void)sendDelegateAppStartFailed:(NSError*)error;
  57. @end
  58. @protocol H5UniversalAppDelegate <NSObject>
  59. - (void)appWillStartLoad:(H5UniversalApp*)coreApp;
  60. - (void)appDidFinishLoad:(H5UniversalApp*)coreApp;
  61. - (void)app:(H5UniversalApp*)coreApp didStartFailed:(NSError*)error;
  62. @end