PageRenderTime 25ms CodeModel.GetById 16ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/core/sdk-objc/GMDataBackedFileDelegate.h

http://macfuse.googlecode.com/
C++ Header | 74 lines | 25 code | 13 blank | 36 comment | 0 complexity | 7bc5987b8ca9da1e4e6562082bf1e089 MD5 | raw file
 1// ================================================================
 2// Copyright (c) 2008, Google Inc.
 3// All rights reserved.
 4//
 5// Redistribution and use in source and binary forms, with or without
 6// modification, are permitted provided that the following conditions are
 7// met:
 8//
 9// * Redistributions of source code must retain the above copyright
10//   notice, this list of conditions and the following disclaimer.
11// * Redistributions in binary form must reproduce the above
12//   copyright notice, this list of conditions and the following disclaimer
13//   in the documentation and/or other materials provided with the
14//   distribution.
15// * Neither the name of Google Inc. nor the names of its
16//   contributors may be used to endorse or promote products derived from
17//   this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30// ================================================================
31//
32//  GMDataBackedFileDelegate.h
33//  MacFUSE
34//
35//  Created by ted on 1/5/08.
36//
37#import <Foundation/Foundation.h>
38
39#define GM_EXPORT __attribute__((visibility("default")))
40
41GM_EXPORT @interface GMDataBackedFileDelegate : NSObject {
42 @private
43  NSData* data_;
44}
45
46+ (GMDataBackedFileDelegate *)fileDelegateWithData:(NSData *)data;
47
48- (NSData *)data;
49
50- (id)initWithData:(NSData *)data;
51
52- (int)readToBuffer:(char *)buffer 
53               size:(size_t)size 
54             offset:(off_t)offset 
55              error:(NSError **)error;
56@end
57
58GM_EXPORT @interface GMMutableDataBackedFileDelegate : GMDataBackedFileDelegate
59
60+ (GMMutableDataBackedFileDelegate *)fileDelegateWithData:(NSMutableData *)data;
61
62- (id)initWithMutableData:(NSMutableData *)data;
63
64- (int)writeFromBuffer:(const char *)buffer 
65                  size:(size_t)size 
66                offset:(off_t)offset
67                 error:(NSError **)error;
68
69- (BOOL)truncateToOffset:(off_t)offset 
70                   error:(NSError **)error;
71
72@end
73
74#undef GM_EXPORT