rt_SipCallback.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*Copyright (C) 2013 Doubango Telecom <http://www.doubango.org>
  2. *
  3. * This file is part of Open Source Doubango Framework.
  4. *
  5. * DOUBANGO is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * DOUBANGO is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with DOUBANGO.
  17. */
  18. #pragma once
  19. class SipCallback;
  20. class SipCallbackProxy;
  21. namespace doubango_rt
  22. {
  23. namespace BackEnd
  24. {
  25. ref class rtDialogEvent;
  26. ref class rtStackEvent;
  27. ref class rtInviteEvent;
  28. ref class rtMessagingEvent;
  29. ref class rtInfoEvent;
  30. ref class rtOptionsEvent;
  31. ref class rtPublicationEvent;
  32. ref class rtRegistrationEvent;
  33. ref class rtSubscriptionEvent;
  34. public interface class rtISipCallback
  35. {
  36. virtual int OnDialogEvent(rtDialogEvent^ e);
  37. virtual int OnStackEvent(rtStackEvent^ e);
  38. virtual int OnInviteEvent(rtInviteEvent^ e);
  39. virtual int OnMessagingEvent(rtMessagingEvent^ e);
  40. virtual int OnInfoEvent(rtInfoEvent^ e);
  41. virtual int OnOptionsEvent(rtOptionsEvent^ e);
  42. virtual int OnPublicationEvent(rtPublicationEvent^ e);
  43. virtual int OnRegistrationEvent(rtRegistrationEvent^ e);
  44. virtual int OnSubscriptionEvent(rtSubscriptionEvent^ e);
  45. };
  46. public ref class rtSipCallback sealed
  47. {
  48. internal:
  49. rtSipCallback(rtISipCallback^ pI);
  50. public:
  51. virtual ~rtSipCallback();
  52. friend class SipCallbackProxy;
  53. internal:
  54. const SipCallback* getWrappedCallback();
  55. private:
  56. rtISipCallback^ m_pI;
  57. SipCallbackProxy* m_pCallback;
  58. };
  59. }
  60. }