Esempio n. 1
0
    public void MyEdirEventHandler(object source, EdirEventArgs objEventArgs)
    {
        Console.WriteLine("EdirEventsCallback::MyEdirEventHandler Event classification = {0}", objEventArgs.EventClassification);

        EdirEventIntermediateResponse objIR = objEventArgs.IntermediateResponse;

        if (null != objIR)
        {
            Console.WriteLine("EdirEventsCallback::MyEdirEventHandler EventType = {0}", objIR.EventType);

            // is there any data object associated with the event...
            BaseEdirEventData objResponseDataObject = objIR.EventResponseDataObject;
            if (null != objResponseDataObject)
            {
                Console.WriteLine("EdirEventsCallback::MyEdirEventHandler Type of data object = {0}", objResponseDataObject.EventDataType);
            }

            Console.WriteLine("EdirEventsCallback::MyEdirEventHandler EventResultType = {0}", objIR.EventResultType);

            // Now objResponseDataObject can be casted to appropriate type depending
            // upon the value of objResponseDataObject.EventDataType
        }

        Console.WriteLine(QUIT_PROMPT);
    }
Esempio n. 2
0
    /**
     * Check the queue for a response. If a response has been received,
     * print the response information.
     */

    static private bool checkForAChange(LdapResponseQueue queue)
    {
        LdapMessage message;
        bool        result = true;

        try
        {
            //check if a response has been received so we don't block
            //when calling getResponse()

            if (queue.isResponseReceived())
            {
                message = queue.getResponse();
                if (message != null)
                {
                    // is the response a search result reference?

                    if (message is MonitorEventResponse)
                    {
                        MonitorEventResponse eventerrorresponse = (MonitorEventResponse)message;
                        Console.WriteLine("\nError in Registration ResultCode  = " + eventerrorresponse.ResultCode);
                        EdirEventSpecifier[] specifiers = eventerrorresponse.SpecifierList;
                        for (int i = 0; i < specifiers.Length; i++)
                        {
                            Console.WriteLine("Specifier:" + "EventType  = " + specifiers[i].EventType);
                        }
                        Environment.Exit(-1);
                    }

                    // is the response a event response ?
                    else if (message is EdirEventIntermediateResponse)
                    {
                        Console.WriteLine("Edir Event Occured");
                        EdirEventIntermediateResponse eventresponse = (EdirEventIntermediateResponse)message;

                        //process the eventresponse Data, depending on the
                        // type of response
                        processEventData(eventresponse.EventResponseDataObject, eventresponse.EventType);
                    }

                    // the message is a Unknown response
                    else
                    {
                        Console.WriteLine("UnKnown Message =" + message);
                    }
                }
            }
        }

        catch (LdapException e)
        {
            Console.WriteLine("Error: " + e.ToString());
            result = false;
        }

        return(result);
    }