source: releases/ICeCoffEE/1.5b5/ICeCoffEE/ICeCoffEESharing.c@ 496

Last change on this file since 496 was 462, checked in by Nicholas Riley, 16 years ago

Copy URL to clipboard as link support.

File size: 1.1 KB
Line 
1/*
2 * ICeCoffEESharing.c
3 * ICeCoffEE
4 *
5 * Created by Nicholas Riley on 4/9/08.
6 * Copyright 2008 Nicholas Riley. All rights reserved.
7 *
8 */
9
10#include "ICeCoffEEConfig.h"
11#include "ICeCoffEESharing.h"
12
13#define CHECK_ERR(c) if ( (err = (c)) != noErr) goto END;
14
15OSStatus ICCF_CopyLink(CFStringRef url) {
16 PasteboardRef clipboard = NULL;
17 CFDataRef data = NULL;
18 OSStatus err;
19
20 CHECK_ERR(PasteboardCreate(kPasteboardClipboard, &clipboard));
21 CHECK_ERR(PasteboardClear(clipboard));
22
23 data = CFStringCreateExternalRepresentation(NULL, url, kCFStringEncodingASCII, 0);
24 if (data != NULL)
25 CHECK_ERR(PasteboardPutItemFlavor(clipboard, NULL, kUTTypeURL, data, kPasteboardFlavorNoFlags));
26
27 SAFE_RELEASE(data);
28
29 data = CFStringCreateExternalRepresentation(NULL, url, kCFStringEncodingUnicode, 0);
30 if (data != NULL)
31 CHECK_ERR(PasteboardPutItemFlavor(clipboard, NULL, kUTTypeUTF16ExternalPlainText, data, kPasteboardFlavorNoFlags));
32
33 err = userCanceledErr; // don't flash URL
34
35END:
36 SAFE_RELEASE(data);
37 SAFE_RELEASE(clipboard);
38
39 return err;
40}
Note: See TracBrowser for help on using the repository browser.