Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
liblinphone
Commits
ce37899b
Commit
ce37899b
authored
Aug 28, 2017
by
Ronan
Browse files
feat(core): add c-wrapper tools
parent
1cc45284
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
200 additions
and
94 deletions
+200
-94
coreapi/private.h
coreapi/private.h
+2
-1
src/CMakeLists.txt
src/CMakeLists.txt
+14
-11
src/c-wrapper/c-types.cpp
src/c-wrapper/c-types.cpp
+63
-0
src/c-wrapper/c-types.h
src/c-wrapper/c-types.h
+38
-0
src/db/events-db.cpp
src/db/events-db.cpp
+26
-27
src/db/events-db.h
src/db/events-db.h
+6
-5
src/event-log/call-event.cpp
src/event-log/call-event.cpp
+4
-4
src/event-log/call-event.h
src/event-log/call-event.h
+2
-2
src/event-log/conference-event-p.h
src/event-log/conference-event-p.h
+2
-2
src/event-log/conference-event.cpp
src/event-log/conference-event.cpp
+3
-3
src/event-log/conference-event.h
src/event-log/conference-event.h
+2
-2
src/event-log/conference-participant-event.cpp
src/event-log/conference-participant-event.cpp
+0
-0
src/event-log/conference-participant-event.h
src/event-log/conference-participant-event.h
+0
-0
src/event-log/event-log-p.h
src/event-log/event-log-p.h
+8
-8
src/event-log/event-log.cpp
src/event-log/event-log.cpp
+11
-11
src/event-log/event-log.h
src/event-log/event-log.h
+12
-12
src/event-log/message-event.cpp
src/event-log/message-event.cpp
+5
-4
src/event-log/message-event.h
src/event-log/message-event.h
+2
-2
No files found.
coreapi/private.h
View file @
ce37899b
...
...
@@ -1890,7 +1890,8 @@ BELLE_SIP_TYPE_ID(LinphoneTransports),
BELLE_SIP_TYPE_ID
(
LinphoneVideoActivationPolicy
),
BELLE_SIP_TYPE_ID
(
LinphoneCallStats
),
BELLE_SIP_TYPE_ID
(
LinphonePlayer
),
BELLE_SIP_TYPE_ID
(
LinphonePlayerCbs
)
BELLE_SIP_TYPE_ID
(
LinphonePlayerCbs
),
BELLE_SIP_TYPE_ID
(
LinphoneEventLog
)
BELLE_SIP_DECLARE_TYPES_END
...
...
src/CMakeLists.txt
View file @
ce37899b
...
...
@@ -21,6 +21,7 @@
############################################################################
set
(
LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES
c-wrapper/c-types.h
content/content.h
core/core.h
cpim/cpim.h
...
...
@@ -38,12 +39,13 @@ set(LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES
db/provider/db-session-provider.h
db/provider/db-session.h
enums.h
event/call-event.h
event/conference-event-p.h
event/conference-event.h
event/conference-participant-event.h
event/event.h
event/message-event.h
event-log/call-event.h
event-log/conference-event-p.h
event-log/conference-event.h
event-log/conference-participant-event.h
event-log/event-log-p.h
event-log/event-log.h
event-log/message-event.h
logger/logger.h
message/message.h
object/clonable-object-p.h
...
...
@@ -56,6 +58,7 @@ set(LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES
)
set
(
LINPHONE_CXX_OBJECTS_SOURCE_FILES
c-wrapper/c-types.cpp
content/content.cpp
core/core.cpp
cpim/header/cpim-core-headers.cpp
...
...
@@ -68,11 +71,11 @@ set(LINPHONE_CXX_OBJECTS_SOURCE_FILES
db/events-db.cpp
db/provider/db-session-provider.cpp
db/provider/db-session.cpp
event/call-event.cpp
event/conference-event.cpp
event/conference-participant-event.cpp
event/event.cpp
event/message-event.cpp
event
-log
/call-event.cpp
event
-log
/conference-event.cpp
event
-log
/conference-participant-event.cpp
event
-log
/event
-log
.cpp
event
-log
/message-event.cpp
logger/logger.cpp
message/message.cpp
object/clonable-object.cpp
...
...
src/c-wrapper/c-types.cpp
0 → 100644
View file @
ce37899b
/*
* types.cpp
* Copyright (C) 2017 Belledonne Communications SARL
*
* 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 3 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, see <http://www.gnu.org/licenses/>.
*/
#include <belle-sip/belle-sip.h>
#include <memory>
// From coreapi.
#include "private.h"
#include "event-log/event-log.h"
#include "c-types.h"
// ================================================================²=============
using
namespace
std
;
void
toto
()
{
LinphonePrivate
::
EventLog
titi
;
LinphonePrivate
::
EventLog
machin
(
titi
);
}
extern
"C"
{
#define L_DECLARE_C_STRUCT_IMPL(STRUCT) \
struct _Linphone ## STRUCT { \
belle_sip_object_t base; \
shared_ptr<LINPHONE_NAMESPACE::STRUCT> cppPtr; \
}; \
static void _linphone_ ## STRUCT ## _uninit(Linphone ## STRUCT * object) { \
object->cppPtr.reset(); \
object->cppPtr->~STRUCT (); \
} \
static void _linphone_ ## STRUCT ## _clone(Linphone ## STRUCT * dest, const Linphone ## STRUCT * src) { \
new(&dest->cppPtr) shared_ptr<LINPHONE_NAMESPACE::STRUCT>(); \
dest->cppPtr = make_shared<LINPHONE_NAMESPACE::STRUCT>(*src->cppPtr.get()); \
} \
BELLE_SIP_DECLARE_VPTR_NO_EXPORT(Linphone ## STRUCT); \
BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(Linphone ## STRUCT); \
BELLE_SIP_INSTANCIATE_VPTR(Linphone ## STRUCT, belle_sip_object_t, \
_linphone_ ## STRUCT ## _uninit, \
_linphone_ ## STRUCT ## _clone, \
NULL, \
FALSE \
);
// -----------------------------------------------------------------------------
L_DECLARE_C_STRUCT_IMPL
(
EventLog
);
}
src/c-wrapper/c-types.h
0 → 100644
View file @
ce37899b
/*
* c-types.h
* Copyright (C) 2017 Belledonne Communications SARL
*
* 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 3 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef _C_TYPES_H_
#define _C_TYPES_H_
// =============================================================================
#ifdef __cplusplus
extern
"C"
{
#endif
#define L_DECLARE_C_STRUCT(STRUCT) typedef struct _Linphone ## STRUCT Linphone ## STRUCT;
L_DECLARE_C_STRUCT
(
EventLog
)
#undef L_DECLARE_C_STRUCT
#ifdef __cplusplus
}
#endif
#endif // ifndef _C_TYPES_H_
src/db/events-db.cpp
View file @
ce37899b
...
...
@@ -23,9 +23,8 @@
#endif // ifdef SOCI_ENABLED
#include "abstract/abstract-db-p.h"
#include "event/call-event.h"
#include "event/event.h"
#include "event/message-event.h"
#include "event-log/call-event.h"
#include "event-log/message-event.h"
#include "logger/logger.h"
#include "message/message.h"
...
...
@@ -250,29 +249,29 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {}
}
}
bool
EventsDb
::
addEvent
(
const
Event
&
event
)
{
bool
EventsDb
::
addEvent
(
const
Event
Log
&
event
Log
)
{
// TODO.
switch
(
event
.
getType
())
{
case
Event
::
None
:
switch
(
event
Log
.
getType
())
{
case
Event
Log
::
None
:
return
false
;
case
Event
::
MessageEvent
:
case
Event
::
CallStartEvent
:
case
Event
::
CallEndEvent
:
case
Event
::
ConferenceCreatedEvent
:
case
Event
::
ConferenceDestroyedEvent
:
case
Event
::
ConferenceParticipantAddedEvent
:
case
Event
::
ConferenceParticipantRemovedEvent
:
case
Event
::
ConferenceParticipantSetAdminEvent
:
case
Event
::
ConferenceParticipantUnsetAdminEvent
:
case
Event
Log
::
MessageEvent
:
case
Event
Log
::
CallStartEvent
:
case
Event
Log
::
CallEndEvent
:
case
Event
Log
::
ConferenceCreatedEvent
:
case
Event
Log
::
ConferenceDestroyedEvent
:
case
Event
Log
::
ConferenceParticipantAddedEvent
:
case
Event
Log
::
ConferenceParticipantRemovedEvent
:
case
Event
Log
::
ConferenceParticipantSetAdminEvent
:
case
Event
Log
::
ConferenceParticipantUnsetAdminEvent
:
break
;
}
return
true
;
}
bool
EventsDb
::
deleteEvent
(
const
Event
&
event
)
{
bool
EventsDb
::
deleteEvent
(
const
Event
Log
&
event
Log
)
{
// TODO.
(
void
)
event
;
(
void
)
event
Log
;
return
true
;
}
...
...
@@ -344,21 +343,21 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {}
return
count
;
}
list
<
Event
>
EventsDb
::
getHistory
(
const
string
&
remoteAddress
,
int
nLast
,
FilterMask
mask
)
const
{
list
<
shared_ptr
<
Event
Log
>
>
EventsDb
::
getHistory
(
const
string
&
remoteAddress
,
int
nLast
,
FilterMask
mask
)
const
{
// TODO.
(
void
)
remoteAddress
;
(
void
)
nLast
;
(
void
)
mask
;
return
list
<
Event
>
();
return
list
<
shared_ptr
<
Event
Log
>
>
();
}
list
<
Event
>
EventsDb
::
getHistory
(
const
string
&
remoteAddress
,
int
begin
,
int
end
,
FilterMask
mask
)
const
{
list
<
shared_ptr
<
Event
Log
>
>
EventsDb
::
getHistory
(
const
string
&
remoteAddress
,
int
begin
,
int
end
,
FilterMask
mask
)
const
{
// TODO.
(
void
)
remoteAddress
;
(
void
)
begin
;
(
void
)
end
;
(
void
)
mask
;
return
list
<
Event
>
();
return
list
<
shared_ptr
<
Event
Log
>
>
();
}
void
EventsDb
::
cleanHistory
(
const
string
&
remoteAddress
)
{
...
...
@@ -374,11 +373,11 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {}
void
EventsDb
::
init
()
{}
bool
EventsDb
::
addEvent
(
const
Event
&
)
{
bool
EventsDb
::
addEvent
(
const
Event
Log
&
)
{
return
false
;
}
bool
EventsDb
::
deleteEvent
(
const
Event
&
)
{
bool
EventsDb
::
deleteEvent
(
const
Event
Log
&
)
{
return
false
;
}
...
...
@@ -396,12 +395,12 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {}
return
0
;
}
list
<
Event
>
EventsDb
::
getHistory
(
const
string
&
,
int
,
FilterMask
)
const
{
return
list
<
Event
>
();
list
<
shared_ptr
<
Event
Log
>
>
EventsDb
::
getHistory
(
const
string
&
,
int
,
FilterMask
)
const
{
return
list
<
shared_ptr
<
Event
Log
>
>
();
}
list
<
Event
>
EventsDb
::
getHistory
(
const
string
&
,
int
,
int
,
FilterMask
)
const
{
return
list
<
Event
>
();
list
<
shared_ptr
<
Event
Log
>
>
EventsDb
::
getHistory
(
const
string
&
,
int
,
int
,
FilterMask
)
const
{
return
list
<
shared_ptr
<
Event
Log
>
>
();
}
void
EventsDb
::
cleanHistory
(
const
string
&
)
{}
...
...
src/db/events-db.h
View file @
ce37899b
...
...
@@ -20,6 +20,7 @@
#define _EVENTS_DB_H_
#include <list>
#include <memory>
#include "abstract/abstract-db.h"
...
...
@@ -27,7 +28,7 @@
LINPHONE_BEGIN_NAMESPACE
class
Event
;
class
Event
Log
;
class
EventsDbPrivate
;
class
LINPHONE_PUBLIC
EventsDb
:
public
AbstractDb
{
...
...
@@ -44,16 +45,16 @@ public:
EventsDb
();
// Generic.
bool
addEvent
(
const
Event
&
event
);
bool
deleteEvent
(
const
Event
&
event
);
bool
addEvent
(
const
Event
Log
&
event
Log
);
bool
deleteEvent
(
const
Event
Log
&
event
Log
);
void
cleanEvents
(
FilterMask
mask
=
NoFilter
);
int
getEventsCount
(
FilterMask
mask
=
NoFilter
)
const
;
// Messages, calls and conferences.
int
getMessagesCount
(
const
std
::
string
&
remoteAddress
=
""
)
const
;
int
getUnreadMessagesCount
(
const
std
::
string
&
remoteAddress
=
""
)
const
;
std
::
list
<
Event
>
getHistory
(
const
std
::
string
&
remoteAddress
,
int
nLast
,
FilterMask
mask
=
NoFilter
)
const
;
std
::
list
<
Event
>
getHistory
(
const
std
::
string
&
remoteAddress
,
int
begin
,
int
end
,
FilterMask
mask
=
NoFilter
)
const
;
std
::
list
<
std
::
shared_ptr
<
EventLog
>
>
getHistory
(
const
std
::
string
&
remoteAddress
,
int
nLast
,
FilterMask
mask
=
NoFilter
)
const
;
std
::
list
<
std
::
shared_ptr
<
EventLog
>
>
getHistory
(
const
std
::
string
&
remoteAddress
,
int
begin
,
int
end
,
FilterMask
mask
=
NoFilter
)
const
;
void
cleanHistory
(
const
std
::
string
&
remoteAddress
=
""
);
protected:
...
...
src/event/call-event.cpp
→
src/event
-log
/call-event.cpp
View file @
ce37899b
...
...
@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "event-p.h"
#include "event-
log-
p.h"
#include "call-event.h"
...
...
@@ -26,14 +26,14 @@ using namespace std;
LINPHONE_BEGIN_NAMESPACE
class
CallEventPrivate
:
public
EventPrivate
{
class
CallEventPrivate
:
public
Event
Log
Private
{
public:
shared_ptr
<
Call
>
call
;
};
// -----------------------------------------------------------------------------
CallEvent
::
CallEvent
(
Type
type
,
const
shared_ptr
<
Call
>
&
call
)
:
Event
(
*
new
CallEventPrivate
,
type
)
{
CallEvent
::
CallEvent
(
Type
type
,
const
shared_ptr
<
Call
>
&
call
)
:
Event
Log
(
*
new
CallEventPrivate
,
type
)
{
L_D
(
CallEvent
);
L_ASSERT
(
call
);
L_ASSERT
(
type
==
CallStartEvent
||
type
==
CallEndEvent
);
...
...
@@ -45,7 +45,7 @@ CallEvent::CallEvent (const CallEvent &src) : CallEvent(src.getType(), src.getCa
CallEvent
&
CallEvent
::
operator
=
(
const
CallEvent
&
src
)
{
L_D
(
CallEvent
);
if
(
this
!=
&
src
)
{
Event
::
operator
=
(
src
);
Event
Log
::
operator
=
(
src
);
d
->
call
=
src
.
getPrivate
()
->
call
;
}
...
...
src/event/call-event.h
→
src/event
-log
/call-event.h
View file @
ce37899b
...
...
@@ -21,7 +21,7 @@
#include <memory>
#include "event.h"
#include "event
-log
.h"
// =============================================================================
...
...
@@ -30,7 +30,7 @@ LINPHONE_BEGIN_NAMESPACE
class
Call
;
class
CallEventPrivate
;
class
LINPHONE_PUBLIC
CallEvent
:
public
Event
{
class
LINPHONE_PUBLIC
CallEvent
:
public
Event
Log
{
public:
CallEvent
(
Type
type
,
const
std
::
shared_ptr
<
Call
>
&
message
);
CallEvent
(
const
CallEvent
&
src
);
...
...
src/event/conference-event-p.h
→
src/event
-log
/conference-event-p.h
View file @
ce37899b
...
...
@@ -21,13 +21,13 @@
#include "conference-event.h"
#include "event-p.h"
#include "event-
log-
p.h"
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
class
ConferenceEventPrivate
:
public
EventPrivate
{
class
ConferenceEventPrivate
:
public
Event
Log
Private
{
private:
std
::
shared_ptr
<
Address
>
address
;
...
...
src/event/conference-event.cpp
→
src/event
-log
/conference-event.cpp
View file @
ce37899b
...
...
@@ -27,7 +27,7 @@ using namespace std;
LINPHONE_BEGIN_NAMESPACE
ConferenceEvent
::
ConferenceEvent
(
Type
type
,
const
shared_ptr
<
Address
>
&
address
)
:
Event
(
*
new
ConferenceEventPrivate
,
type
)
{
Event
Log
(
*
new
ConferenceEventPrivate
,
type
)
{
L_D
(
ConferenceEvent
);
L_ASSERT
(
type
==
ConferenceCreatedEvent
||
type
==
ConferenceDestroyedEvent
);
L_ASSERT
(
address
);
...
...
@@ -37,7 +37,7 @@ ConferenceEvent::ConferenceEvent (Type type, const shared_ptr<Address> &address)
ConferenceEvent
::
ConferenceEvent
(
const
ConferenceEvent
&
src
)
:
ConferenceEvent
(
src
.
getType
(),
src
.
getAddress
())
{}
ConferenceEvent
::
ConferenceEvent
(
ConferenceEventPrivate
&
p
,
Type
type
,
const
shared_ptr
<
Address
>
&
address
)
:
Event
(
p
,
type
)
{
Event
Log
(
p
,
type
)
{
L_D
(
ConferenceEvent
);
L_ASSERT
(
address
);
d
->
address
=
address
;
...
...
@@ -46,7 +46,7 @@ ConferenceEvent::ConferenceEvent (ConferenceEventPrivate &p, Type type, const sh
ConferenceEvent
&
ConferenceEvent
::
operator
=
(
const
ConferenceEvent
&
src
)
{
L_D
(
ConferenceEvent
);
if
(
this
!=
&
src
)
{
Event
::
operator
=
(
src
);
Event
Log
::
operator
=
(
src
);
d
->
address
=
src
.
getPrivate
()
->
address
;
}
...
...
src/event/conference-event.h
→
src/event
-log
/conference-event.h
View file @
ce37899b
...
...
@@ -21,7 +21,7 @@
#include <memory>
#include "event.h"
#include "event
-log
.h"
// =============================================================================
...
...
@@ -30,7 +30,7 @@ LINPHONE_BEGIN_NAMESPACE
class
Address
;
class
ConferenceEventPrivate
;
class
LINPHONE_PUBLIC
ConferenceEvent
:
public
Event
{
class
LINPHONE_PUBLIC
ConferenceEvent
:
public
Event
Log
{
public:
ConferenceEvent
(
Type
type
,
const
std
::
shared_ptr
<
Address
>
&
address
);
ConferenceEvent
(
const
ConferenceEvent
&
src
);
...
...
src/event/conference-participant-event.cpp
→
src/event
-log
/conference-participant-event.cpp
View file @
ce37899b
File moved
src/event/conference-participant-event.h
→
src/event
-log
/conference-participant-event.h
View file @
ce37899b
File moved
src/event/event-p.h
→
src/event
-log
/event-
log-
p.h
View file @
ce37899b
/*
* event-p.h
* event-
log-
p.h
* Copyright (C) 2017 Belledonne Communications SARL
*
* This program is free software: you can redistribute it and/or modify
...
...
@@ -16,23 +16,23 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _EVENT_P_H_
#define _EVENT_P_H_
#ifndef _EVENT_
LOG_
P_H_
#define _EVENT_
LOG_
P_H_
#include "event.h"
#include "event
-log
.h"
#include "object/clonable-object-p.h"
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
class
EventPrivate
:
public
ClonableObjectPrivate
{
class
Event
Log
Private
:
public
ClonableObjectPrivate
{
private:
Event
::
Type
type
=
Event
::
None
;
Event
Log
::
Type
type
=
Event
Log
::
None
;
L_DECLARE_PUBLIC
(
Event
);
L_DECLARE_PUBLIC
(
Event
Log
);
};
LINPHONE_END_NAMESPACE
#endif // ifndef _EVENT_P_H_
#endif // ifndef _EVENT_
LOG_
P_H_
src/event/event.cpp
→
src/event
-log
/event
-log
.cpp
View file @
ce37899b
/*
* event.cpp
* event
-log
.cpp
* Copyright (C) 2017 Belledonne Communications SARL
*
* This program is free software: you can redistribute it and/or modify
...
...
@@ -16,9 +16,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "event-p.h"
#include "event-
log-
p.h"
#include "event.h"
#include "event
-log
.h"
// =============================================================================
...
...
@@ -26,24 +26,24 @@ LINPHONE_BEGIN_NAMESPACE
// -----------------------------------------------------------------------------
Event
::
Event
()
:
ClonableObject
(
*
new
EventPrivate
)
{}
Event
Log
::
Event
Log
()
:
ClonableObject
(
*
new
Event
Log
Private
)
{}
Event
::
Event
(
const
Event
&
)
:
ClonableObject
(
*
new
EventPrivate
)
{}
Event
Log
::
Event
Log
(
const
Event
Log
&
)
:
ClonableObject
(
*
new
Event
Log
Private
)
{}
Event
::
Event
(
EventPrivate
&
p
,
Type
type
)
:
ClonableObject
(
*
new
EventPrivate
)
{
L_D
(
Event
);
Event
Log
::
Event
Log
(
Event
Log
Private
&
p
,
Type
type
)
:
ClonableObject
(
*
new
Event
Log
Private
)
{
L_D
(
Event
Log
);
d
->
type
=
type
;
}
Event
&
Event
::
operator
=
(
const
Event
&
src
)
{
L_D
(
Event
);
Event
Log
&
Event
Log
::
operator
=
(
const
Event
Log
&
src
)
{
L_D
(
Event
Log
);
if
(
this
!=
&
src
)
d
->
type
=
src
.
getPrivate
()
->
type
;
return
*
this
;
}
Event
::
Type
Event
::
getType
()
const
{
L_D
(
const
Event
);
Event
Log
::
Type
Event
Log
::
getType
()
const
{
L_D
(
const
Event
Log
);
return
d
->
type
;
}
...
...
src/event/event.h
→
src/event
-log
/event
-log
.h
View file @
ce37899b
/*
* event.h
* event
-log
.h
* Copyright (C) 2017 Belledonne Communications SARL
*
* This program is free software: you can redistribute it and/or modify
...
...
@@ -16,8 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _EVENT_H_
#define _EVENT_H_
#ifndef _EVENT_
LOG_
H_
#define _EVENT_
LOG_
H_
#include "object/clonable-object.h"
...
...
@@ -25,9 +25,9 @@
LINPHONE_BEGIN_NAMESPACE
class
EventPrivate
;
class
Event
Log
Private
;
class
LINPHONE_PUBLIC
Event
:
public
ClonableObject
{
class
LINPHONE_PUBLIC
Event
Log
:
public
ClonableObject
{
public:
enum
Type
{
None
,
...
...
@@ -46,21 +46,21 @@ public:
ConferenceParticipantUnsetAdminEvent
};
Event
();
Event
(
const
Event
&
src
);
virtual
~
Event
()
=
default
;
Event
Log
();
Event
Log
(
const
Event
Log
&
src
);
virtual
~
Event
Log
()
=
default
;
Event
&
operator
=
(
const
Event
&
src
);
Event
Log
&
operator
=
(
const
Event
Log
&
src
);
Type
getType
()
const
;
protected:
Event
(
EventPrivate
&
p
,
Type
type
);
Event
Log
(
Event
Log
Private
&
p
,
Type
type
);
private:
L_DECLARE_PRIVATE
(
Event
);
L_DECLARE_PRIVATE
(
Event
Log
);
};
LINPHONE_END_NAMESPACE
#endif // ifndef _EVENT_H_
#endif // ifndef _EVENT_
LOG_
H_
src/event/message-event.cpp
→
src/event
-log
/message-event.cpp
View file @
ce37899b
...
...
@@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "event-p.h"
#include "event-
log-
p.h"
#include "message-event.h"
...
...
@@ -26,14 +26,15 @@ using namespace std;
LINPHONE_BEGIN_NAMESPACE
class
MessageEventPrivate
:
public
EventPrivate
{
class
MessageEventPrivate
:
public
Event
Log
Private
{
public:
shared_ptr
<
Message
>
message
;
};
// -----------------------------------------------------------------------------
MessageEvent
::
MessageEvent
(
const
shared_ptr
<
Message
>
&
message
)
:
Event
(
*
new
MessageEventPrivate
,
Event
::
MessageEvent
)
{
MessageEvent
::
MessageEvent
(
const
shared_ptr
<
Message
>
&
message
)
:
EventLog
(
*
new
MessageEventPrivate
,
EventLog
::
MessageEvent
)
{
L_D
(
MessageEvent
);
L_ASSERT
(
message
);
d
->
message
=
message
;
...
...
@@ -44,7 +45,7 @@ MessageEvent::MessageEvent (const MessageEvent &src) : MessageEvent(src.getMessa
MessageEvent
&
MessageEvent
::
operator
=
(
const
MessageEvent
&
src
)
{
L_D
(
MessageEvent
);
if
(
this
!=
&
src
)
{
Event
::
operator
=
(
src
);
Event
Log
::
operator
=
(
src
);
d
->
message
=
src
.
getPrivate
()
->
message
;
}
...
...
src/event/message-event.h
→
src/event
-log
/message-event.h
View file @
ce37899b
...
...
@@ -21,7