root / pithos-macos / PublicURLTransformer.m @ e5cbe7aa
History | View | Annotate | Download (2.4 kB)
1 | c6f07a3c | Miltiadis Vasilakis | // |
---|---|---|---|
2 | c6f07a3c | Miltiadis Vasilakis | // PublicURLTransformer.m |
3 | c6f07a3c | Miltiadis Vasilakis | // pithos-macos |
4 | c6f07a3c | Miltiadis Vasilakis | // |
5 | 919cb043 | Miltiadis Vasilakis | // Copyright 2011-2012 GRNET S.A. All rights reserved. |
6 | c6f07a3c | Miltiadis Vasilakis | // |
7 | c6f07a3c | Miltiadis Vasilakis | // Redistribution and use in source and binary forms, with or |
8 | c6f07a3c | Miltiadis Vasilakis | // without modification, are permitted provided that the following |
9 | c6f07a3c | Miltiadis Vasilakis | // conditions are met: |
10 | c6f07a3c | Miltiadis Vasilakis | // |
11 | c6f07a3c | Miltiadis Vasilakis | // 1. Redistributions of source code must retain the above |
12 | c6f07a3c | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following |
13 | c6f07a3c | Miltiadis Vasilakis | // disclaimer. |
14 | c6f07a3c | Miltiadis Vasilakis | // |
15 | c6f07a3c | Miltiadis Vasilakis | // 2. Redistributions in binary form must reproduce the above |
16 | c6f07a3c | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following |
17 | c6f07a3c | Miltiadis Vasilakis | // disclaimer in the documentation and/or other materials |
18 | c6f07a3c | Miltiadis Vasilakis | // provided with the distribution. |
19 | c6f07a3c | Miltiadis Vasilakis | // |
20 | c6f07a3c | Miltiadis Vasilakis | // THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS |
21 | c6f07a3c | Miltiadis Vasilakis | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
22 | c6f07a3c | Miltiadis Vasilakis | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
23 | c6f07a3c | Miltiadis Vasilakis | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR |
24 | c6f07a3c | Miltiadis Vasilakis | // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
25 | c6f07a3c | Miltiadis Vasilakis | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
26 | c6f07a3c | Miltiadis Vasilakis | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
27 | c6f07a3c | Miltiadis Vasilakis | // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
28 | c6f07a3c | Miltiadis Vasilakis | // AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 | c6f07a3c | Miltiadis Vasilakis | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
30 | c6f07a3c | Miltiadis Vasilakis | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
31 | c6f07a3c | Miltiadis Vasilakis | // POSSIBILITY OF SUCH DAMAGE. |
32 | c6f07a3c | Miltiadis Vasilakis | // |
33 | c6f07a3c | Miltiadis Vasilakis | // The views and conclusions contained in the software and |
34 | c6f07a3c | Miltiadis Vasilakis | // documentation are those of the authors and should not be |
35 | c6f07a3c | Miltiadis Vasilakis | // interpreted as representing official policies, either expressed |
36 | c6f07a3c | Miltiadis Vasilakis | // or implied, of GRNET S.A. |
37 | c6f07a3c | Miltiadis Vasilakis | |
38 | c6f07a3c | Miltiadis Vasilakis | #import "PublicURLTransformer.h" |
39 | e5096d8a | Miltiadis Vasilakis | #import "ASIPithosRequest.h" |
40 | 919cb043 | Miltiadis Vasilakis | #import "ASIPithos.h" |
41 | 919cb043 | Miltiadis Vasilakis | #import "pithos_macosAppDelegate.h" |
42 | d8426ffb | Miltiadis Vasilakis | #import "PithosAccount.h" |
43 | c6f07a3c | Miltiadis Vasilakis | |
44 | c6f07a3c | Miltiadis Vasilakis | @implementation PublicURLTransformer |
45 | c6f07a3c | Miltiadis Vasilakis | |
46 | c6f07a3c | Miltiadis Vasilakis | + (Class)transformedValueClass { |
47 | c6f07a3c | Miltiadis Vasilakis | return [NSString class]; |
48 | c6f07a3c | Miltiadis Vasilakis | } |
49 | c6f07a3c | Miltiadis Vasilakis | |
50 | c6f07a3c | Miltiadis Vasilakis | + (BOOL)allowsReverseTransformation { |
51 | c6f07a3c | Miltiadis Vasilakis | return NO; |
52 | c6f07a3c | Miltiadis Vasilakis | } |
53 | c6f07a3c | Miltiadis Vasilakis | |
54 | c6f07a3c | Miltiadis Vasilakis | - (id)transformedValue:(id)value { |
55 | c6f07a3c | Miltiadis Vasilakis | if (value == nil) |
56 | c6f07a3c | Miltiadis Vasilakis | return nil; |
57 | baaf1397 | Miltiadis Vasilakis | NSString *publicURLString = (NSString *)value; |
58 | baaf1397 | Miltiadis Vasilakis | if ([publicURLString hasPrefix:@"https://"] || [publicURLString hasPrefix:@"http://"]) |
59 | baaf1397 | Miltiadis Vasilakis | return publicURLString; |
60 | baaf1397 | Miltiadis Vasilakis | return [[[[(pithos_macosAppDelegate *)[[NSApplication sharedApplication] delegate] currentPithosAccount] pithos] publicURLPrefix] |
61 | baaf1397 | Miltiadis Vasilakis | stringByAppendingString:publicURLString]; |
62 | c6f07a3c | Miltiadis Vasilakis | } |
63 | c6f07a3c | Miltiadis Vasilakis | |
64 | c6f07a3c | Miltiadis Vasilakis | + (void)initialize { |
65 | cb6abe72 | Miltiadis Vasilakis | [[self class] setValueTransformer:[self new] forName:@"PublicURLTransformer"]; |
66 | c6f07a3c | Miltiadis Vasilakis | } |
67 | c6f07a3c | Miltiadis Vasilakis | |
68 | c6f07a3c | Miltiadis Vasilakis | @end |