QNRecorderDelegate.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // QNRecorderDelegate.h
  3. // QiniuSDK
  4. //
  5. // Created by bailong on 14/10/5.
  6. // Copyright (c) 2014年 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 为持久化上传记录,根据上传的key以及文件名 生成持久化的记录key
  11. *
  12. * @param uploadKey 上传的key
  13. * @param filePath 文件名
  14. *
  15. * @return 根据uploadKey, filepath 算出的记录key
  16. */
  17. typedef NSString * (^QNRecorderKeyGenerator)(NSString *uploadKey, NSString *filePath);
  18. /**
  19. * 持久化记录接口,可以实现将记录持久化到文件,数据库等
  20. */
  21. @protocol QNRecorderDelegate <NSObject>
  22. /**
  23. * 保存记录
  24. *
  25. * @param key 持久化记录的key
  26. * @param value 持久化记录上传状态信息
  27. *
  28. * @return 错误信息,成功为nil
  29. */
  30. - (NSError *)set:(NSString *)key
  31. data:(NSData *)value;
  32. /**
  33. * 取出保存的持久化上传状态信息
  34. *
  35. * @param key 持久化记录key
  36. *
  37. * @return 上传中间状态信息
  38. */
  39. - (NSData *)get:(NSString *)key;
  40. /**
  41. * 删除持久化记录,一般在上传成功后自动调用
  42. *
  43. * @param key 持久化记录key
  44. *
  45. * @return 错误信息,成功为nil
  46. */
  47. - (NSError *)del:(NSString *)key;
  48. @end