CallLog.h 2.49 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
/*
CallLog.h
Copyright (C) 2015  Belledonne Communications, Grenoble, France
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
14
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
15 16 17 18 19 20 21 22
*/

#pragma once

#include "Core.h"
#include "Enums.h"


23
namespace BelledonneCommunications
24
{
25
	namespace Linphone
26
	{
27
		namespace Native
28
		{
29 30
			ref class Address;
			ref class Core;
31 32

			/// <summary>
33
			/// Call data records object
34
			/// </summary>
35
			public ref class CallLog sealed
36
			{
37 38 39 40 41 42 43 44
			public:
				/// <summary>
				/// Returns the call id from signaling.
				/// </summary>
				property Platform::String^ CallId
				{
					Platform::String^ get();
				}
45

46 47 48 49 50 51 52
				/// <summary>
				/// Gets the CallDirection of the call (Incoming or Outgoing).
				/// </summary>
				property CallDirection Direction
				{
					CallDirection get();
				}
53

54 55 56 57 58 59 60
				/// <summary>
				/// Returns the call duration in seconds.
				/// </summary>
				property int Duration
				{
					int get();
				}
61

62 63 64 65 66 67 68
				/// <summary>
				/// Gets the Address of the caller.
				/// </summary>
				property Address^ FromAddress
				{
					Address^ get();
				}
69

70 71 72 73 74 75 76
				/// <summary>
				/// Tells whether video was enabled at the end of the call.
				/// </summary>
				property Platform::Boolean IsVideoEnabled
				{
					Platform::Boolean get();
				}
77

78 79 80 81 82 83 84
				/// <summary>
				/// Returns the start date/time of the call in seconds elpsed since January first 1970.
				/// </summary>
				property int64 StartDate
				{
					int64 get();
				}
85

86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
				/// <summary>
				/// Gets the CallStatus of the call (Success, Aborted, Missed or Declined).
				/// </summary>
				property CallStatus Status
				{
					CallStatus get();
				}

				/// <summary>
				/// Gets the Address of the callee.
				/// </summary>
				property Address^ ToAddress
				{
					Address^ get();
				}
101

102 103 104
			private:
				friend class Utils;
				friend ref class Core;
105

106 107
				CallLog(::LinphoneCallLog *cl);
				~CallLog();
108

109 110 111
				::LinphoneCallLog *callLog;
			};
		}
112
	}
113
}