18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef DO_NO_IMPORTS 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "oaidl.idl"; 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "ocidl.idl"; 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectimport "DOMCore.idl"; 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IDOMNode; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IDOMDocumentFragment; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef enum _WebSelectionAffinity { 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebSelectionAffinityUpstream = 0, 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project WebSelectionAffinityDownstream = 1 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} WebSelectionAffinity; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectenum { 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // DOM range exception codes 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_BAD_BOUNDARYPOINTS_ERR = 1, 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_INVALID_NODE_TYPE_ERR = 2, 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectenum { 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // DOM Range comparison codes 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_START_TO_START = 0, 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_START_TO_END = 1, 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_END_TO_END = 2, 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project DOM_END_TO_START = 3, 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project @interface DOMRange : DOMObject 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project[ 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project object, 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project oleautomation, 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project uuid(2F33E42C-0B39-48b3-B7B6-E910CDB325AD), 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project pointer_default(unique) 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project] 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinterface IDOMRange : IDOMObject 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMNode *)startContainer; 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT startContainer([out, retval] IDOMNode** node); 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (int)startOffset; 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT startOffset([out, retval] int* offset); 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMNode *)endContainer; 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT endContainer([out, retval] IDOMNode** node); 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (int)endOffset; 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT endOffset([out, retval] int* offset); 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (BOOL)collapsed; 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT collapsed([out, retval] BOOL* result); 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMNode *)commonAncestorContainer; 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT commonAncestorContainer([out, retval] IDOMNode** container); 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setStart:(DOMNode *)refNode :(int)offset; 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setStart([in] IDOMNode* refNode, [in] int offset); 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setEnd:(DOMNode *)refNode :(int)offset; 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setEnd([in] IDOMNode* refNode, [in] int offset); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setStartBefore:(DOMNode *)refNode; 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setStartBefore([in] IDOMNode* refNode); 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setStartAfter:(DOMNode *)refNode; 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setStartAfter([in] IDOMNode* refNode); 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setEndBefore:(DOMNode *)refNode; 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setEndBefore([in] IDOMNode* refNode); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)setEndAfter:(DOMNode *)refNode; 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT setEndAfter([in] IDOMNode* refNode); 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)collapse:(BOOL)toStart; 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT collapse([in] BOOL toStart); 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)selectNode:(DOMNode *)refNode; 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT selectNode([in] IDOMNode* refNode); 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)selectNodeContents:(DOMNode *)refNode; 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT selectNodeContents([in] IDOMNode* refNode); 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (short)compareBoundaryPoints:(unsigned short)how :(DOMRange *)sourceRange; 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT compareBoundaryPoints([in] unsigned short how, [in] IDOMRange* sourceRange); 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)deleteContents; 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT deleteContents(); 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMDocumentFragment *)extractContents; 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT extractContents([out, retval] IDOMDocumentFragment** fragment); 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMDocumentFragment *)cloneContents; 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT cloneContents([out, retval] IDOMDocumentFragment** fragment); 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)insertNode:(DOMNode *)newNode; 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT insertNode([in] IDOMNode* newNode); 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)surroundContents:(DOMNode *)newParent; 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT surroundContents([in] IDOMNode* newParent); 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (DOMRange *)cloneRange; 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT cloneRange([out, retval] IDOMRange** range); 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (NSString *)toString; 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT toString([out, retval] BSTR* str); 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project /* 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project - (void)detach; 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project HRESULT detach(); 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 189