00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00033 #ifndef _ASN1TOBJID_H_
00034 #define _ASN1TOBJID_H_
00035
00036 #include "rtsrc/asn1type.h"
00037
00049 struct EXTRTCLASS ASN1TObjId : public ASN1OBJID {
00053 ASN1TObjId () { numids = 0; }
00054
00058 virtual EXTRTMETHOD ~ASN1TObjId ();
00059
00067 EXTRTMETHOD ASN1TObjId (OSOCTET _numids, const OSUINT32* _subids);
00068
00076 EXTRTMETHOD ASN1TObjId (const ASN1OBJID& oid);
00077
00083 EXTRTMETHOD ASN1TObjId (const ASN1TObjId& oid);
00084
00090 EXTRTMETHOD ASN1TObjId (const char *dotted_oid_string);
00091
00097 EXTRTMETHOD ASN1TObjId& operator=(const char *dotted_oid_string);
00098
00106 EXTRTMETHOD void operator= (const ASN1OBJID& rhs);
00107
00114 EXTRTMETHOD void operator= (const ASN1TObjId& rhs);
00115
00124 EXTRTMETHOD ASN1TObjId& operator+=(const char *dotted_oid_string);
00125
00134 EXTRTMETHOD ASN1TObjId& operator+=(const OSUINT32 i);
00135
00144 EXTRTMETHOD ASN1TObjId& operator+=(const ASN1TObjId &o);
00145
00152 EXTRTMETHOD const char *toString (OSCTXT* pctxt) const;
00153
00160 EXTRTMETHOD void set_data (const OSUINT32 *raw_oid, OSUINT32 oid_len);
00161
00170 EXTRTMETHOD int nCompare(const OSUINT32 n, const ASN1TObjId &o) const;
00171
00180 EXTRTMETHOD int RnCompare(const OSUINT32 n, const ASN1TObjId &o) const;
00181
00187 EXTRTMETHOD void trim(const OSUINT32 n);
00188
00189 };
00190
00199 EXTERNRT int operator== (const ASN1OBJID& lhs, const ASN1OBJID& rhs);
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00219 EXTERNRT int operator==(const ASN1OBJID &lhs, const char *dotted_oid_string);
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00240 EXTERNRT int operator!=(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00241
00251 EXTERNRT int operator!=(const ASN1OBJID &lhs, const ASN1OBJID &rhs);
00252
00262 EXTERNRT int operator!=(const ASN1OBJID &lhs, const char *dotted_oid_string);
00263
00273 EXTERNRT int operator!=(const ASN1TObjId &lhs, const char *dotted_oid_string);
00274
00284 EXTERNRT int operator<(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00285
00295 EXTERNRT int operator<(const ASN1OBJID &lhs, const ASN1OBJID &rhs);
00296
00306 EXTERNRT int operator<(const ASN1OBJID &lhs, const char *dotted_oid_string);
00307
00317 EXTERNRT int operator<(const ASN1TObjId &lhs, const char *dotted_oid_string);
00318
00328 EXTERNRT int operator<=(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00329
00339 EXTERNRT int operator<=(const ASN1OBJID &lhs, const ASN1OBJID &rhs);
00340
00351 EXTERNRT int operator<=(const ASN1TObjId &lhs, const char *dotted_oid_string);
00352
00362 EXTERNRT int operator<=(const ASN1OBJID &lhs, const char *dotted_oid_string);
00363
00364
00374 EXTERNRT int operator>(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00375
00385 EXTERNRT int operator>(const ASN1TObjId &lhs, const char *dotted_oid_string);
00386
00396 EXTERNRT int operator>(const ASN1OBJID &lhs, const ASN1OBJID &rhs);
00397
00407 EXTERNRT int operator>(const ASN1OBJID &lhs, const char *dotted_oid_string);
00408
00418 EXTERNRT int operator>=(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00419
00429 EXTERNRT int operator>=(const ASN1TObjId &lhs, const char *dotted_oid_string);
00430
00440 EXTERNRT int operator>=(const ASN1OBJID &lhs, const ASN1OBJID &rhs);
00441
00442
00452 EXTERNRT int operator>=(const ASN1OBJID &lhs, const char *dotted_oid_string);
00453
00462 EXTERNRT ASN1TObjId operator +(const ASN1TObjId &lhs, const ASN1TObjId &rhs);
00463
00464 #endif
00465