Statistics
| Branch: | Tag: | Revision:

root / pithos-macos / PithosActivityFacility.h @ 1b1e6fa1

History | View | Annotate | Download (3.1 kB)

1 470e6f81 Miltiadis Vasilakis
//
2 470e6f81 Miltiadis Vasilakis
//  PithosActivityFacility.h
3 470e6f81 Miltiadis Vasilakis
//  pithos-macos
4 470e6f81 Miltiadis Vasilakis
//
5 470e6f81 Miltiadis Vasilakis
// Copyright 2011 GRNET S.A. All rights reserved.
6 470e6f81 Miltiadis Vasilakis
//
7 470e6f81 Miltiadis Vasilakis
// Redistribution and use in source and binary forms, with or
8 470e6f81 Miltiadis Vasilakis
// without modification, are permitted provided that the following
9 470e6f81 Miltiadis Vasilakis
// conditions are met:
10 470e6f81 Miltiadis Vasilakis
// 
11 470e6f81 Miltiadis Vasilakis
//   1. Redistributions of source code must retain the above
12 470e6f81 Miltiadis Vasilakis
//      copyright notice, this list of conditions and the following
13 470e6f81 Miltiadis Vasilakis
//      disclaimer.
14 470e6f81 Miltiadis Vasilakis
// 
15 470e6f81 Miltiadis Vasilakis
//   2. Redistributions in binary form must reproduce the above
16 470e6f81 Miltiadis Vasilakis
//      copyright notice, this list of conditions and the following
17 470e6f81 Miltiadis Vasilakis
//      disclaimer in the documentation and/or other materials
18 470e6f81 Miltiadis Vasilakis
//      provided with the distribution.
19 470e6f81 Miltiadis Vasilakis
// 
20 470e6f81 Miltiadis Vasilakis
// THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
21 470e6f81 Miltiadis Vasilakis
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22 470e6f81 Miltiadis Vasilakis
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 470e6f81 Miltiadis Vasilakis
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
24 470e6f81 Miltiadis Vasilakis
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 470e6f81 Miltiadis Vasilakis
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 470e6f81 Miltiadis Vasilakis
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27 470e6f81 Miltiadis Vasilakis
// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 470e6f81 Miltiadis Vasilakis
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 470e6f81 Miltiadis Vasilakis
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 470e6f81 Miltiadis Vasilakis
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 470e6f81 Miltiadis Vasilakis
// POSSIBILITY OF SUCH DAMAGE.
32 470e6f81 Miltiadis Vasilakis
// 
33 470e6f81 Miltiadis Vasilakis
// The views and conclusions contained in the software and
34 470e6f81 Miltiadis Vasilakis
// documentation are those of the authors and should not be
35 470e6f81 Miltiadis Vasilakis
// interpreted as representing official policies, either expressed
36 470e6f81 Miltiadis Vasilakis
// or implied, of GRNET S.A.
37 470e6f81 Miltiadis Vasilakis
38 470e6f81 Miltiadis Vasilakis
#import <Foundation/Foundation.h>
39 470e6f81 Miltiadis Vasilakis
#import "PithosActivity.h"
40 470e6f81 Miltiadis Vasilakis
41 470e6f81 Miltiadis Vasilakis
@protocol PithosActivityFacilityDelegate <NSObject>
42 470e6f81 Miltiadis Vasilakis
@required
43 470e6f81 Miltiadis Vasilakis
- (void)activityUpdate:(NSDictionary *)info;
44 470e6f81 Miltiadis Vasilakis
@end
45 470e6f81 Miltiadis Vasilakis
46 470e6f81 Miltiadis Vasilakis
@interface PithosActivityFacility : NSObject {
47 470e6f81 Miltiadis Vasilakis
    NSMutableArray *runningActivities;
48 470e6f81 Miltiadis Vasilakis
    NSMutableArray *endingActivities;
49 470e6f81 Miltiadis Vasilakis
    NSUInteger totalUploadBytes;
50 470e6f81 Miltiadis Vasilakis
    NSUInteger currentUploadBytes;
51 470e6f81 Miltiadis Vasilakis
    NSUInteger totalDownloadBytes;
52 470e6f81 Miltiadis Vasilakis
    NSUInteger currentDownloadBytes;
53 470e6f81 Miltiadis Vasilakis
54 470e6f81 Miltiadis Vasilakis
    NSTimer *timer;
55 470e6f81 Miltiadis Vasilakis
    BOOL pickedRunning;
56 470e6f81 Miltiadis Vasilakis
    
57 470e6f81 Miltiadis Vasilakis
    id<PithosActivityFacilityDelegate> delegate;
58 470e6f81 Miltiadis Vasilakis
}
59 470e6f81 Miltiadis Vasilakis
60 470e6f81 Miltiadis Vasilakis
@property (nonatomic, assign) id delegate;
61 470e6f81 Miltiadis Vasilakis
62 470e6f81 Miltiadis Vasilakis
+ (id)defaultPithosActivityFacility;
63 470e6f81 Miltiadis Vasilakis
64 470e6f81 Miltiadis Vasilakis
- (void)reset;
65 470e6f81 Miltiadis Vasilakis
- (PithosActivity *)startActivityWithType:(PithosActivityType)type 
66 470e6f81 Miltiadis Vasilakis
                                  message:(NSString *)message 
67 470e6f81 Miltiadis Vasilakis
                               totalBytes:(NSUInteger)totalBytes 
68 470e6f81 Miltiadis Vasilakis
                             currentBytes:(NSUInteger)currentBytes;
69 1b1e6fa1 Miltiadis Vasilakis
- (PithosActivity *)startActivityWithType:(PithosActivityType)type 
70 1b1e6fa1 Miltiadis Vasilakis
                                  message:(NSString *)message;
71 470e6f81 Miltiadis Vasilakis
- (void)updateActivity:(PithosActivity *)activity 
72 470e6f81 Miltiadis Vasilakis
           withMessage:(NSString *)message 
73 470e6f81 Miltiadis Vasilakis
            totalBytes:(NSUInteger)totalBytes 
74 470e6f81 Miltiadis Vasilakis
          currentBytes:(NSUInteger)currentBytes;
75 1b1e6fa1 Miltiadis Vasilakis
- (void)updateActivity:(PithosActivity *)activity 
76 1b1e6fa1 Miltiadis Vasilakis
           withMessage:(NSString *)message;
77 470e6f81 Miltiadis Vasilakis
- (void)endActivity:(PithosActivity *)activity 
78 470e6f81 Miltiadis Vasilakis
        withMessage:(NSString *)message 
79 470e6f81 Miltiadis Vasilakis
         totalBytes:(NSUInteger)totalBytes 
80 470e6f81 Miltiadis Vasilakis
       currentBytes:(NSUInteger)currentBytes;
81 1b1e6fa1 Miltiadis Vasilakis
- (void)endActivity:(PithosActivity *)activity 
82 1b1e6fa1 Miltiadis Vasilakis
        withMessage:(NSString *)message;
83 470e6f81 Miltiadis Vasilakis
84 470e6f81 Miltiadis Vasilakis
@end