p6domnodesetsort.h

Go to the documentation of this file.
00001 
00011 #ifndef P6DOMNODESETSORT_H__
00012 #define P6DOMNODESETSORT_H__ 1
00013 
00014 #include "p6xmlnode.h"
00015 #include "p6xpathexpression.h"
00016 
00017 namespace P6R { 
00018 
00019 #ifdef  __cplusplus
00020 extern "C" {
00021 #endif
00022 
00030 typedef enum {
00031   P6DOMNODE_ASCENDING            = 0x00,    // -> sort key type unknown
00032   P6DOMNODE_DESCENDING           = 0x01,    // -> sort key type unknown
00033   P6DOMNODE_SORTNUM_ASCENDING    = 0x02,    // -> sort key is numeric type
00034   P6DOMNODE_SORTNUM_DESCENDING   = 0x03,    // -> sort key is numeric type
00035   P6DOMNODE_SORTSTR_ASCENDING    = 0x04,    // -> sort key is a string type
00036   P6DOMNODE_SORTSTR_DESCENDING   = 0x05,    // -> sort key is a string type   
00037   P6DOMNODE_SORTTIME_ASCENDING   = 0x06,    // -> sort key is a p6IXpathTime type
00038   P6DOMNODE_SORTTIME_DESCENDING  = 0x07,    // -> sort key is a p6IXpathTime type   
00039   P6DOMNODE_SORTFLOAT_ASCENDING  = 0x08,    // -> sort key is P6FLOAT type
00040   P6DOMNODE_SORTFLOAT_DESCENDING = 0x09,    // -> sort key is P6FLOAT type
00041   P6DOMNODE_SORTLONG_ASCENDING   = 0x0A,    // -> sort key is P6INT64 type
00042   P6DOMNODE_SORTLONG_DESCENDING  = 0x0B     // -> sort key is P6INT64 type
00043 } P6DOMNODE_SORT;
00044 
00064 interface p6IDOMNodesetSort : public p6ICom
00065 {
00081    P6COMMETHOD setLanguageProperties( const P6CHAR* pLang, const P6CHAR* pCollate ) = 0;
00082 
00092    P6COMMETHOD reverseOrder() = 0;
00093 
00104    P6COMMETHOD documentOrder() = 0;
00105 
00126    P6COMMETHOD sortByExpression( p6IDOMXML*          pXMLTree, 
00127                           P6DOMNODE_SORT      type, 
00128                           p6IXpathExpression* pExp ) = 0;
00129 
00140    P6COMMETHOD distinctValues() = 0;
00141 
00152    P6COMMETHOD distinctNodes() = 0;
00153 
00167     P6COMMETHOD getMaximumEntry( p6IXMLNode** pNode ) = 0;
00168 
00182     P6COMMETHOD getMinimumEntry( p6IXMLNode** pNode ) = 0;
00183 };
00184 
00185 // {D7F8B3E5-50E2-428f-B96E-8375DD266D29}
00186 #define IF_p6IDOMNodesetSort  {0xd7f8b3e5,0x50e2,0x428f,{0xb9,0x6e,0x83,0x75,0xdd,0x26,0x6d,0x29}}
00187 
00188 #ifdef  __cplusplus
00189 }
00190 #endif
00191 
00192 } // namespace
00193 
00194 
00195 #endif
00196 
00197 
00198 
00199 
00200 
00201 
00202 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.