InDesign SDK
20.5
InDesign SDK
Documentation
Bosses
Sample plug-ins
Class Index
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
ILinkResource.h
1
//========================================================================================
2
//
3
// $File$
4
//
5
// Owner: Michael Easter
6
//
7
// $Author$
8
//
9
// $DateTime$
10
//
11
// $Revision$
12
//
13
// $Change$
14
//
15
// Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16
//
17
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18
// with the terms of the Adobe license agreement accompanying it. If you have received
19
// this file from a source other than Adobe, then your use, modification, or
20
// distribution of it requires the prior written permission of Adobe.
21
//
22
//
23
// Description:
24
// This class defines an interface used to maintain and access a linked resource.
25
//
26
//========================================================================================
27
28
#ifndef __ILinkResource__
29
#define __ILinkResource__
30
31
// ----- Includes -----
32
#include "IPMUnknown.h"
33
#include "LinksID.h"
34
#include "AppInfo.h"
35
#include <boost/function.hpp>
36
class
ILinkResourceHandler
;
37
class
IPMStream
;
38
39
class
FileTypeInfo
;
40
class
IDTime
;
41
class
PMString
;
42
class
UIDList
;
43
class
URI
;
44
class
WideString
;
45
46
64
class
ILinkResource
:
public
IPMUnknown
65
{
66
public
:
67
enum
{ kDefaultIID = IID_ILINKRESOURCE };
68
69
typedef
URI
ResourceId
;
70
typedef
WideString
ResourceStamp
;
71
78
virtual
ResourceId
GetURI
()
const
= 0;
79
85
virtual
ResourceId
GetId
()
const
= 0;
86
92
virtual
bool
IsIdEquivalent
(
const
ResourceId
&
id
)
const
= 0;
93
98
virtual
LinkClientID
GetClientID
()
const
= 0;
99
112
virtual
WideString
GetShortName
(
bool
bUIName)
const
= 0;
113
125
virtual
WideString
GetLongName
(
bool
bUIName)
const
= 0;
126
132
enum
ResourceState
{
134
kAvailable
= 0,
136
kMissing
,
138
kPending
,
140
kUnknown
,
142
kInaccessible
143
};
144
149
virtual
ResourceState
GetState
()
const
= 0;
150
155
virtual
void
SetState
(
ResourceState
state) = 0;
156
161
enum
ResourceStoreState
{
163
kNormal
= 0,
165
kCached
,
167
kEmbedded
,
170
kContained
171
};
172
177
virtual
ResourceStoreState
GetStoreState
()
const
= 0;
178
183
virtual
void
SetContainedInObject
() = 0;
184
191
virtual
ResourceStamp
GetStamp
()
const
= 0;
192
197
virtual
void
SetStamp
(
const
ResourceStamp& stamp) = 0;
198
204
virtual
bool
IsStampEquivalent
(
const
ResourceStamp& stamp)
const
= 0;
205
210
virtual
IDTime
GetModTime
()
const
= 0;
211
216
virtual
void
SetModTime
(
const
IDTime
& time) = 0;
217
222
virtual
uint64
GetSize
()
const
= 0;
223
228
virtual
void
SetSize
(uint64 size) = 0;
229
234
virtual
FileTypeInfo
GetDataType
()
const
= 0;
235
240
virtual
PMString
GetFormatType
()
const
= 0;
241
246
virtual
void
SetFormatType
(
const
PMString
& formatType) = 0;
247
253
enum
AccessMode
{
255
kRead
= 0,
257
kWrite
,
262
kReadWrite
263
};
264
276
virtual
bool
IsAccessSupported
(
AccessMode
mode)
const
= 0;
277
288
virtual
bool
CanQueryStream
(
AccessMode
mode)
const
= 0;
289
301
virtual
IPMStream
*
QueryStream
(
AccessMode
mode)
const
= 0;
302
308
virtual
bool
CanCache
()
const
= 0;
309
315
virtual
ErrorCode
Cache
() = 0;
316
322
virtual
ErrorCode
Uncache
() = 0;
323
328
virtual
bool
CanEmbed
()
const
= 0;
329
335
virtual
ErrorCode
Embed
() = 0;
336
347
virtual
ErrorCode
EmbedFromStream
(
IPMStream
* stream) = 0;
348
353
virtual
bool
CanUnembed
()
const
= 0;
354
360
virtual
ErrorCode
Unembed
() = 0;
361
366
virtual
bool
CanCopyToFile
()
const
= 0;
367
373
virtual
ErrorCode
CopyToFile
(
IDFile
& file)
const
= 0;
374
380
virtual
bool
CanEdit
()
const
= 0;
381
391
virtual
ErrorCode
Edit
(
const
AppInfo
& appInfo,
PMString
* errorString) = 0;
392
397
virtual
bool
CanReveal
()
const
= 0;
398
403
virtual
ErrorCode
Reveal
() = 0;
404
409
virtual
bool
CanRevealInBridge
()
const
= 0;
410
415
virtual
ErrorCode
RevealInBridge
() = 0;
416
421
virtual
bool
CanRevealInCloudLibraries
()
const
= 0;
422
427
virtual
ErrorCode
RevealInCloudLibraries
() = 0;
428
435
virtual
ErrorCode
CopyAttributes
(
const
UIDRef
& resourceRef) = 0;
436
442
virtual
bool
IsFPO
()
const
= 0;
443
448
virtual
bool
CanGetXMPPacketInfo
()
const
= 0;
449
455
virtual
bool
GetXMPPacketInfo
(std::string& packet)
const
= 0;
456
457
460
enum
ResourceDownloadState
{
462
kNotStarted
= 0,
464
kInProgress
,
466
kComplete
,
468
kDownloadError
469
};
470
476
virtual
ResourceDownloadState
GetDownloadProgress
(
PMReal
& progress)
const
= 0;
477
482
virtual
bool
CanDownloadOriginal
()
const
= 0;
483
488
virtual
ErrorCode
DownloadOriginal
() = 0;
489
490
typedef
boost::function<void(const ILinkResource::ResourceId& resourceId, const ILinkResource::ResourceDownloadState& resourceDownloadState)> DownloadCompletionFunction;
491
497
virtual
ErrorCode
AsyncDownloadOriginal
(ILinkResource::DownloadCompletionFunction completionFunction) = 0;
498
503
virtual
bool
CanReplaceFPOWithOriginal
()
const
= 0;
504
509
virtual
bool
CanProvideFile
()
const
= 0;
510
516
virtual
ErrorCode
GetFile
(
IDFile
& idFile)
const
= 0;
517
522
virtual
bool
CanGetLinkInstance
()
const
= 0;
523
524
/*
525
Get the underlying link instance.
526
@param PMString [OUT] instance the underlying instance name
527
@return kSuccess if the link instance can be obtained, else an error code.
528
*/
529
virtual
ErrorCode GetlinkInstance(
PMString
&instance)
const
= 0;
530
531
};
532
533
#endif // __ILinkResource__
tmpdoxygeninput
ILinkResource.h
Generated on Sat Jul 19 2025 02:54:14 for InDesign SDK by
1.8.3.1