1// ====================================================================== 2// File: KCAPI_Item.h 3// 4// Operation classes for APIs to manage KC items 5// - KCNewItem 6// - KCSetAttribute 7// - KCGetAttribute 8// - KCSetData 9// - KCGetData 10// - KCGetDataNoUI 11// - KCAddItem 12// - KCAddItemNoUI 13// - KCDeleteItem 14// - KCDeleteItemNoUI 15// - KCUpdateItem 16// - KCReleaseItem 17// - KCCopyItem 18// 19// Operation classes for APIs for searching and enumertating KC items 20// - KCFindFirstItem 21// - KCFindNextItem 22// - KCReleaseSearch 23// 24// Copyright: Copyright (c) 2000,2003 Apple Computer, Inc. All Rights Reserved. 25// 26// Change History (most recent first): 27// 28// <1> 3/1/00 em Created. 29// ====================================================================== 30 31#ifndef __KCAPI_ITEM__ 32#define __KCAPI_ITEM__ 33 34#include "KCOperation.h" 35#include "KCOperationID.h" 36 37 38// ��������������������������������������������������������������������������� 39// � COp_KCNewItem 40// ��������������������������������������������������������������������������� 41class COp_KCNewItem : public KCItemOperation 42{ 43public: 44OPERATION_ID(KCNewItem) 45 46 COp_KCNewItem(); 47 virtual OSStatus Operate(); 48 49protected: 50 CParamKCItemClass mItemClass; 51 CParamOSType mItemCreator; 52 CParamkcBlob mData; 53 54}; 55 56// ��������������������������������������������������������������������������� 57// � COp_KCSetAttribute 58// ��������������������������������������������������������������������������� 59class COp_KCSetAttribute : public KCItemOperation 60{ 61public: 62OPERATION_ID(KCSetAttribute) 63 64 COp_KCSetAttribute(); 65 virtual OSStatus Operate(); 66 67protected: 68 CParamKCAttribute mAttribute; 69}; 70 71 72// ��������������������������������������������������������������������������� 73// � COp_KCGetAttribute 74// ��������������������������������������������������������������������������� 75class COp_KCGetAttribute : public KCItemOperation 76{ 77public: 78OPERATION_ID(KCGetAttribute) 79 80 COp_KCGetAttribute(); 81 virtual OSStatus Operate(); 82 83protected: 84 CParamKCAttribute mAttribute; 85 CParamUInt32 mActualLength; 86}; 87 88 89// ��������������������������������������������������������������������������� 90// � COp_KCSetData 91// ��������������������������������������������������������������������������� 92class COp_KCSetData : public KCItemOperation 93{ 94public: 95OPERATION_ID(KCSetData) 96 97 COp_KCSetData(); 98 virtual OSStatus Operate(); 99 100protected: 101 CParamkcBlob mData; 102}; 103 104// ��������������������������������������������������������������������������� 105// � COp_KCGetData 106// ��������������������������������������������������������������������������� 107class COp_KCGetData : public KCItemOperation 108{ 109public: 110OPERATION_ID(KCGetData) 111 112 COp_KCGetData(); 113 virtual OSStatus Operate(); 114 115protected: 116 CParamkcBlob mData; 117 CParamUInt32 mActualLength; 118}; 119 120// ��������������������������������������������������������������������������� 121// � COp_KCGetDataNoUI 122// ��������������������������������������������������������������������������� 123/* 124class COp_KCGetDataNoUI : public KCItemOperation 125{ 126public: 127OPERATION_ID(KCGetDataNoUI) 128 129 COp_KCGetDataNoUI(); 130 virtual OSStatus Operate(); 131 132protected: 133 CParamkcBlob mData; 134 CParamUInt32 mActualLength; 135 136*/ 137/* static OSStatus Callback1( 138 KCItemRef *outItemRef, 139 UInt32 *outMaxLength, 140 void **outData, 141 UInt32 **outActualLength, 142 void *inContext); 143 144 static OSStatus Callback2( 145 void *inContext); 146*/ 147//}; 148 149// ��������������������������������������������������������������������������� 150// � COp_KCAddItem 151// ��������������������������������������������������������������������������� 152class COp_KCAddItem : public KCItemOperation 153{ 154public: 155OPERATION_ID(KCAddItem) 156 157 COp_KCAddItem(); 158 virtual OSStatus Operate(); 159 160protected: 161}; 162 163// ��������������������������������������������������������������������������� 164// � COp_KCAddItemNoUI 165// ��������������������������������������������������������������������������� 166class COp_KCAddItemNoUI : public KCItemOperation 167{ 168public: 169OPERATION_ID(KCAddItemNoUI) 170 171 COp_KCAddItemNoUI(); 172 virtual OSStatus Operate(); 173 174protected: 175 static OSStatus Callback( 176 KCItemRef *outItem, 177 void *inContext); 178}; 179 180// ��������������������������������������������������������������������������� 181// � COp_KCDeleteItem 182// ��������������������������������������������������������������������������� 183class COp_KCDeleteItem : public KCItemOperation 184{ 185public: 186OPERATION_ID(KCDeleteItem) 187 188 COp_KCDeleteItem(); 189 virtual OSStatus Operate(); 190 191protected: 192}; 193 194// ��������������������������������������������������������������������������� 195// � COp_KCDeleteItemNoUI 196// ��������������������������������������������������������������������������� 197class COp_KCDeleteItemNoUI : public KCItemOperation 198{ 199public: 200OPERATION_ID(KCDeleteItemNoUI) 201 202 COp_KCDeleteItemNoUI(); 203 virtual OSStatus Operate(); 204 205protected: 206 static OSStatus CallBack( 207 KCItemRef *outItem, 208 void *inContext); 209}; 210 211// ��������������������������������������������������������������������������� 212// � COp_KCUpdateItem 213// ��������������������������������������������������������������������������� 214class COp_KCUpdateItem : public KCItemOperation 215{ 216public: 217OPERATION_ID(KCUpdateItem) 218 219 COp_KCUpdateItem(); 220 virtual OSStatus Operate(); 221 222protected: 223}; 224 225// ��������������������������������������������������������������������������� 226// � COp_KCReleaseItem 227// ��������������������������������������������������������������������������� 228class COp_KCReleaseItem : public KCItemOperation 229{ 230public: 231OPERATION_ID(KCReleaseItem) 232 233 COp_KCReleaseItem(); 234 virtual OSStatus Operate(); 235 236protected: 237}; 238 239// ��������������������������������������������������������������������������� 240// � COp_KCCopyItem 241// ��������������������������������������������������������������������������� 242class COp_KCCopyItem : public KCItemOperation 243{ 244public: 245OPERATION_ID(KCCopyItem) 246 247 COp_KCCopyItem(); 248 virtual OSStatus Operate(); 249 250protected: 251}; 252 253// ��������������������������������������������������������������������������� 254// � COp_KCFindFirstItem 255// ��������������������������������������������������������������������������� 256class COp_KCFindFirstItem : public KCSearchOperation 257{ 258public: 259OPERATION_ID(KCFindFirstItem) 260 261 COp_KCFindFirstItem(); 262 virtual OSStatus Operate(); 263 264protected: 265 CParamKCAttributeList mAttrList; 266}; 267 268// ��������������������������������������������������������������������������� 269// � COp_KCFindNextItem 270// ��������������������������������������������������������������������������� 271class COp_KCFindNextItem : public KCSearchOperation 272{ 273public: 274OPERATION_ID(KCFindNextItem) 275 276 COp_KCFindNextItem(); 277 virtual OSStatus Operate(); 278 279protected: 280}; 281 282// ��������������������������������������������������������������������������� 283// � COp_KCReleaseSearch 284// ��������������������������������������������������������������������������� 285class COp_KCReleaseSearch : public KCSearchOperation 286{ 287public: 288OPERATION_ID(KCReleaseSearch) 289 290 COp_KCReleaseSearch(); 291 virtual OSStatus Operate(); 292 293protected: 294}; 295 296#endif // __KCAPI_ITEM__ 297 298 299