Oracle® Access Manager Developer Guide 10g (10.1.4.3) E12491-01 |
|
Previous |
Next |
This appendix contains information on managed helper classes for the Access Server and Policy Manager APIs.
Namespace: Oblix.Access.Common /* * ObDictionary class methods allow the application to * * - provide .NET style dictionary access to Java style ObMap object */ public __gc class ObDictionary : public System::Collections::IDictionary, public System::IDisposable, public System::ICloneable { private: ObMap __nogc* _map; public: ObDictionary(); ObDictionary(const ObMap& map); // This constructor takes over the memory of the map object ObDictionary(ObMap *map); ~ObDictionary(); //ICloneable Object* Clone(); //IDisposible void Dispose(); void Dispose(bool disposing); //IDictionary virtual void CopyTo(System::Array* ar, int count); virtual IEnumerator* IEnumerable::GetEnumerator() {return GetEnumeratorImpl();} virtual IDictionaryEnumerator* IDictionary::GetEnumerator() {return GetEnumeratorImpl();} virtual IDictionaryEnumerator *GetEnumeratorImpl(); bool Contains(System::Object* key); __property bool get_IsFixedSize(); __property bool get_IsReadOnly(); __property bool get_IsSynchronized(); __property int get_Count(); __property System::Collections::ICollection* get_Keys(); __property System::Collections::ICollection* get_Values(); __property ObMap *get_Map(); // This class is not thread safe, as a result there is no syncroot object. This method // returns a NULL object. __property System::Object* get_SyncRoot(); virtual void Add(System::Object* key, System::Object* value); virtual void Clear(void); virtual void Remove(System::Object* key); //__property virtual void set_Item(System::String* key, System::String* value); __property virtual void set_Item(System::Object* key, System::Object* value); __property virtual System::Object* get_Item(System::Object* key); //__property virtual System::String* get_Item(System::String* key); //Type specific overloads void Add(System::String* key, System::String* value); bool Contains(System::String* key); }; __gc class ObDictionaryEnumerator : public IDictionaryEnumerator { private: int _iCurrent; int _entrySize; DictionaryEntry _ar[]; public: ObDictionaryEnumerator(ObDictionary* dict); //IDictionaryEnumerator Object* get_Current(); DictionaryEntry get_Entry(); Object* get_Key(); Object* get_Value(); bool MoveNext(); void Reset(); }; /* * ObConfigMgd functions allow the application to * * - initialize the Access API from a configuration file, * - shutdown: delete resources used by the API, * - get information from the Access API configuration, including * - sessionTimeout: the maximum lifetime in seconds for a user session * - idleTimeout: the maximum period in seconds allowed between authorization events * - map user session error numbers to messages * - get current version number for the Access Server SDK * - get current version of Oracle Access Protocol or OAP version. */ public __gc class ObConfigMgd { public: static void initialize(System::String *configDir); static void initialize(); static void shutdown(); __property static ObDictionary *get_AllItems(); __property static int get_NumberOfItems(); static System::String *getItem(System::String *name); static System::String *getErrorMessage(int err); __property static System::String *get_SDKVersion(); __property static System::String *get_NAPVersion(); private: }; /* * Access Exception Implementation Objects * An ObAccessExceptionImpl object is thrown when a problem is detected by the Access API * implementation methods. Access codes are defined in obaccess_api_defs.h. The mapAAAStatus() * class method maps an ObAAAStatus returned by an ObAAAServiceClient method into a exception * code. */ public __gc class ObAccessExceptionMgd : public System::Exception { public: ObAccessExceptionMgd(); ObAccessExceptionMgd(ObAccessException *ex); //Cleanup ~ObAccessExceptionMgd(); //IDispose() void Dispose(); void Dispose(bool disposing); // getters and setters __property ObAccessExceptionCode_t get_Code(); System::String *getParameter(int index); System::String *getCodeString(ObAccessExceptionCode_t code); __property System::String *get_String(); private: /// Unmanaged Oblix object. ObAccessException __nogc *_exception; }; } }