Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
BC
public
liblinphone
Commits
87ab5a94
Commit
87ab5a94
authored
Aug 11, 2017
by
Ronan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(src): use now a LINPHONE_{BEGIN,END}_NAMESPACE macro
parent
8891799e
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
483 additions
and
435 deletions
+483
-435
src/cpim/header/cpim-core-headers.cpp
src/cpim/header/cpim-core-headers.cpp
+6
-4
src/cpim/header/cpim-core-headers.h
src/cpim/header/cpim-core-headers.h
+51
-49
src/cpim/header/cpim-generic-header.cpp
src/cpim/header/cpim-generic-header.cpp
+5
-3
src/cpim/header/cpim-generic-header.h
src/cpim/header/cpim-generic-header.h
+26
-24
src/cpim/header/cpim-header-p.h
src/cpim/header/cpim-header-p.h
+14
-12
src/cpim/header/cpim-header.cpp
src/cpim/header/cpim-header.cpp
+5
-3
src/cpim/header/cpim-header.h
src/cpim/header/cpim-header.h
+20
-18
src/cpim/message/cpim-message.cpp
src/cpim/message/cpim-message.cpp
+5
-3
src/cpim/message/cpim-message.h
src/cpim/message/cpim-message.h
+25
-23
src/cpim/parser/cpim-grammar.cpp
src/cpim/parser/cpim-grammar.cpp
+6
-4
src/cpim/parser/cpim-grammar.h
src/cpim/parser/cpim-grammar.h
+8
-4
src/cpim/parser/cpim-parser.cpp
src/cpim/parser/cpim-parser.cpp
+151
-151
src/cpim/parser/cpim-parser.h
src/cpim/parser/cpim-parser.h
+39
-37
src/logger/logger.cpp
src/logger/logger.cpp
+10
-10
src/logger/logger.h
src/logger/logger.h
+29
-27
src/object/object-p.h
src/object/object-p.h
+13
-11
src/object/object.cpp
src/object/object.cpp
+4
-2
src/object/object.h
src/object/object.h
+15
-13
src/object/singleton.h
src/object/singleton.h
+28
-26
src/utils/general.h
src/utils/general.h
+6
-0
src/utils/utils.cpp
src/utils/utils.cpp
+5
-3
src/utils/utils.h
src/utils/utils.h
+12
-8
No files found.
src/cpim/header/cpim-core-headers.cpp
View file @
87ab5a94
...
...
@@ -21,11 +21,11 @@
#include "cpim-core-headers.h"
// =============================================================================
using
namespace
std
;
using
namespace
LinphonePrivate
;
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
Cpim
::
CoreHeader
::
CoreHeader
()
:
Header
(
*
new
HeaderPrivate
)
{}
...
...
@@ -56,7 +56,7 @@ MAKE_CORE_HEADER_IMPL(Require);
// -----------------------------------------------------------------------------
void
Cpim
::
CoreHeader
::
force
(
const
std
::
string
&
value
)
{
void
Cpim
::
CoreHeader
::
force
(
const
string
&
value
)
{
Header
::
setValue
(
value
);
}
...
...
@@ -103,3 +103,5 @@ void Cpim::SubjectHeader::force (const string &value, const string &language) {
CoreHeader
::
force
(
value
);
d
->
language
=
language
;
}
LINPHONE_END_NAMESPACE
src/cpim/header/cpim-core-headers.h
View file @
87ab5a94
...
...
@@ -23,6 +23,8 @@
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
#define MAKE_CORE_HEADER(CLASS_PREFIX, NAME) \
class LINPHONE_PUBLIC CLASS_PREFIX ## Header : public CoreHeader { \
public: \
...
...
@@ -35,77 +37,77 @@
L_DISABLE_COPY(CLASS_PREFIX ## Header); \
};
namespace
LinphonePrivate
{
namespace
Cpim
{
class
HeaderNode
;
namespace
Cpim
{
class
HeaderNode
;
// -------------------------------------------------------------------------
// Generic core header.
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Generic core header.
// -------------------------------------------------------------------------
class
LINPHONE_PUBLIC
CoreHeader
:
public
Header
{
friend
class
HeaderNode
;
class
LINPHONE_PUBLIC
CoreHeader
:
public
Header
{
friend
class
HeaderNode
;
public:
CoreHeader
();
public:
CoreHeader
();
virtual
~
CoreHeader
()
=
0
;
virtual
~
CoreHeader
()
=
0
;
bool
isValid
()
const
override
;
bool
isValid
()
const
override
;
protected:
explicit
CoreHeader
(
HeaderPrivate
&
p
);
protected:
explicit
CoreHeader
(
HeaderPrivate
&
p
);
void
force
(
const
std
::
string
&
value
);
void
force
(
const
std
::
string
&
value
);
private:
L_DISABLE_COPY
(
CoreHeader
);
};
private:
L_DISABLE_COPY
(
CoreHeader
);
};
// -------------------------------------------------------------------------
// Core headers.
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Core headers.
// -------------------------------------------------------------------------
MAKE_CORE_HEADER
(
From
,
"From"
);
MAKE_CORE_HEADER
(
To
,
"To"
);
MAKE_CORE_HEADER
(
Cc
,
"cc"
);
MAKE_CORE_HEADER
(
DateTime
,
"DateTime"
);
MAKE_CORE_HEADER
(
Ns
,
"NS"
);
MAKE_CORE_HEADER
(
Require
,
"Require"
);
MAKE_CORE_HEADER
(
From
,
"From"
);
MAKE_CORE_HEADER
(
To
,
"To"
);
MAKE_CORE_HEADER
(
Cc
,
"cc"
);
MAKE_CORE_HEADER
(
DateTime
,
"DateTime"
);
MAKE_CORE_HEADER
(
Ns
,
"NS"
);
MAKE_CORE_HEADER
(
Require
,
"Require"
);
// -------------------------------------------------------------------------
// Specific Subject declaration.
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Specific Subject declaration.
// -------------------------------------------------------------------------
class
SubjectHeaderPrivate
;
class
SubjectHeaderPrivate
;
class
LINPHONE_PUBLIC
SubjectHeader
:
public
CoreHeader
{
friend
class
HeaderNode
;
class
LINPHONE_PUBLIC
SubjectHeader
:
public
CoreHeader
{
friend
class
HeaderNode
;
public:
SubjectHeader
();
public:
SubjectHeader
();
inline
std
::
string
getName
()
const
override
{
return
"Subject"
;
}
inline
std
::
string
getName
()
const
override
{
return
"Subject"
;
}
bool
setValue
(
const
std
::
string
&
value
)
override
;
bool
setValue
(
const
std
::
string
&
value
)
override
;
std
::
string
getLanguage
()
const
;
bool
setLanguage
(
const
std
::
string
&
language
);
std
::
string
getLanguage
()
const
;
bool
setLanguage
(
const
std
::
string
&
language
);
std
::
string
asString
()
const
override
;
std
::
string
asString
()
const
override
;
protected:
void
force
(
const
std
::
string
&
value
,
const
std
::
string
&
language
);
protected:
void
force
(
const
std
::
string
&
value
,
const
std
::
string
&
language
);
private:
L_DECLARE_PRIVATE
(
SubjectHeader
);
L_DISABLE_COPY
(
SubjectHeader
);
};
}
private:
L_DECLARE_PRIVATE
(
SubjectHeader
);
L_DISABLE_COPY
(
SubjectHeader
);
};
}
#undef MAKE_CORE_HEADER
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_CORE_HEADERS_H_
src/cpim/header/cpim-generic-header.cpp
View file @
87ab5a94
...
...
@@ -24,11 +24,11 @@
#include "cpim-generic-header.h"
// =============================================================================
using
namespace
std
;
using
namespace
LinphonePrivate
;
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
class
Cpim
::
GenericHeaderPrivate
:
public
HeaderPrivate
{
public:
...
...
@@ -117,3 +117,5 @@ void Cpim::GenericHeader::force (const string &name, const string &value, const
d
->
parameters
->
push_back
(
make_pair
(
parameter
.
substr
(
0
,
equalIndex
),
parameter
.
substr
(
equalIndex
+
1
)));
}
}
LINPHONE_END_NAMESPACE
src/cpim/header/cpim-generic-header.h
View file @
87ab5a94
...
...
@@ -26,40 +26,42 @@
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
class
GenericHeaderPrivate
;
class
HeaderNode
;
LINPHONE_BEGIN_NAMESPACE
class
LINPHONE_PUBLIC
GenericHeader
:
public
Header
{
friend
class
HeaderNode
;
namespace
Cpim
{
class
GenericHeaderPrivate
;
class
HeaderNode
;
public:
Generic
Header
()
;
class
LINPHONE_PUBLIC
GenericHeader
:
public
Header
{
friend
class
Header
Node
;
std
::
string
getName
()
const
override
;
bool
setName
(
const
std
::
string
&
name
);
public:
GenericHeader
(
);
bool
setValue
(
const
std
::
string
&
value
)
override
;
std
::
string
getName
()
const
override
;
bool
setName
(
const
std
::
string
&
name
);
typedef
std
::
shared_ptr
<
const
std
::
list
<
std
::
pair
<
std
::
string
,
std
::
string
>
>
>
ParameterList
;
bool
setValue
(
const
std
::
string
&
value
)
override
;
ParameterList
getParameters
()
const
;
bool
addParameter
(
const
std
::
string
&
key
,
const
std
::
string
&
value
);
void
removeParameter
(
const
std
::
string
&
key
,
const
std
::
string
&
value
);
typedef
std
::
shared_ptr
<
const
std
::
list
<
std
::
pair
<
std
::
string
,
std
::
string
>
>
>
ParameterList
;
bool
isValid
()
const
override
;
ParameterList
getParameters
()
const
;
bool
addParameter
(
const
std
::
string
&
key
,
const
std
::
string
&
value
);
void
removeParameter
(
const
std
::
string
&
key
,
const
std
::
string
&
value
);
std
::
string
asString
()
const
override
;
bool
isValid
()
const
override
;
protected:
void
force
(
const
std
::
string
&
name
,
const
std
::
string
&
value
,
const
std
::
string
&
parameters
);
std
::
string
asString
()
const
override
;
private:
L_DECLARE_PRIVATE
(
GenericHeader
);
L_DISABLE_COPY
(
GenericHeader
);
};
}
protected:
void
force
(
const
std
::
string
&
name
,
const
std
::
string
&
value
,
const
std
::
string
&
parameters
);
private:
L_DECLARE_PRIVATE
(
GenericHeader
);
L_DISABLE_COPY
(
GenericHeader
);
};
}
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_GENERIC_HEADER_H_
src/cpim/header/cpim-header-p.h
View file @
87ab5a94
...
...
@@ -24,18 +24,20 @@
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
class
HeaderPrivate
:
public
ObjectPrivate
{
public:
virtual
~
HeaderPrivate
()
=
default
;
private:
std
::
string
value
;
L_DECLARE_PUBLIC
(
Header
);
}
;
}
LINPHONE_BEGIN_NAMESPACE
namespace
Cpim
{
class
HeaderPrivate
:
public
ObjectPrivate
{
public:
virtual
~
HeaderPrivate
()
=
default
;
private:
std
::
string
value
;
L_DECLARE_PUBLIC
(
Header
)
;
}
;
}
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_HEADER_P_H_
src/cpim/header/cpim-header.cpp
View file @
87ab5a94
...
...
@@ -20,11 +20,11 @@
#include "cpim-header.h"
// =============================================================================
using
namespace
std
;
using
namespace
LinphonePrivate
;
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
Cpim
::
Header
::
Header
(
HeaderPrivate
&
p
)
:
Object
(
p
)
{}
...
...
@@ -43,3 +43,5 @@ string Cpim::Header::asString () const {
L_D
(
const
Header
);
return
getName
()
+
": "
+
d
->
value
+
"
\r\n
"
;
}
LINPHONE_END_NAMESPACE
src/cpim/header/cpim-header.h
View file @
87ab5a94
...
...
@@ -25,31 +25,33 @@
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
class
HeaderPrivate
;
LINPHONE_BEGIN_NAMESPACE
class
LINPHONE_PUBLIC
Header
:
public
Object
{
public:
virtual
~
Header
()
=
default
;
namespace
Cpim
{
class
HeaderPrivate
;
virtual
std
::
string
getName
()
const
=
0
;
class
LINPHONE_PUBLIC
Header
:
public
Object
{
public:
virtual
~
Header
()
=
default
;
std
::
string
getValue
()
const
;
virtual
bool
setValue
(
const
std
::
string
&
value
);
virtual
std
::
string
getName
()
const
=
0
;
virtual
bool
isValid
()
const
=
0
;
std
::
string
getValue
()
const
;
virtual
bool
setValue
(
const
std
::
string
&
value
);
virtual
std
::
string
asString
()
const
;
virtual
bool
isValid
()
const
=
0
;
protected:
explicit
Header
(
HeaderPrivate
&
p
);
virtual
std
::
string
asString
()
const
;
private:
L_DECLARE_PRIVATE
(
Header
);
L_DISABLE_COPY
(
Header
);
};
}
protected:
explicit
Header
(
HeaderPrivate
&
p
);
private:
L_DECLARE_PRIVATE
(
Header
);
L_DISABLE_COPY
(
Header
);
};
}
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_HEADER_H_
src/cpim/message/cpim-message.cpp
View file @
87ab5a94
...
...
@@ -24,11 +24,11 @@
#include "cpim-message.h"
// =============================================================================
using
namespace
std
;
using
namespace
LinphonePrivate
;
// =============================================================================
LINPHONE_BEGIN_NAMESPACE
class
Cpim
::
MessagePrivate
:
public
ObjectPrivate
{
public:
...
...
@@ -139,3 +139,5 @@ string Cpim::Message::asString () const {
shared_ptr
<
const
Cpim
::
Message
>
Cpim
::
Message
::
createFromString
(
const
string
&
str
)
{
return
Parser
::
getInstance
()
->
parseMessage
(
str
);
}
LINPHONE_END_NAMESPACE
src/cpim/message/cpim-message.h
View file @
87ab5a94
...
...
@@ -24,38 +24,40 @@
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
class
MessagePrivate
;
LINPHONE_BEGIN_NAMESPACE
class
LINPHONE_PUBLIC
Message
:
public
Object
{
public:
Message
();
namespace
Cpim
{
class
MessagePrivate
;
typedef
std
::
shared_ptr
<
std
::
list
<
std
::
shared_ptr
<
const
Cpim
::
Header
>
>
>
HeaderList
;
class
LINPHONE_PUBLIC
Message
:
public
Object
{
public:
Message
();
HeaderList
getCpimHeaders
()
const
;
bool
addCpimHeader
(
const
Header
&
cpimHeader
);
void
removeCpimHeader
(
const
Header
&
cpimHeader
);
typedef
std
::
shared_ptr
<
std
::
list
<
std
::
shared_ptr
<
const
Cpim
::
Header
>
>
>
HeaderList
;
HeaderList
get
Message
Headers
()
const
;
bool
add
Message
Header
(
const
Header
&
message
Header
);
void
remove
Message
Header
(
const
Header
&
message
Header
);
HeaderList
get
Cpim
Headers
()
const
;
bool
add
Cpim
Header
(
const
Header
&
cpim
Header
);
void
remove
Cpim
Header
(
const
Header
&
cpim
Header
);
std
::
string
getContent
()
const
;
bool
setContent
(
const
std
::
string
&
content
);
HeaderList
getMessageHeaders
()
const
;
bool
addMessageHeader
(
const
Header
&
messageHeader
);
void
removeMessageHeader
(
const
Header
&
messageHeader
);
bool
isValid
()
const
;
std
::
string
getContent
()
const
;
bool
setContent
(
const
std
::
string
&
content
);
std
::
string
asString
()
const
;
bool
isValid
()
const
;
static
std
::
shared_ptr
<
const
Message
>
createFrom
String
(
const
std
::
string
&
str
)
;
std
::
string
as
String
(
)
const
;
private:
L_DECLARE_PRIVATE
(
Message
);
L_DISABLE_COPY
(
Message
);
};
}
static
std
::
shared_ptr
<
const
Message
>
createFromString
(
const
std
::
string
&
str
);
private:
L_DECLARE_PRIVATE
(
Message
);
L_DISABLE_COPY
(
Message
);
};
}
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_MESSAGE_H_
src/cpim/parser/cpim-grammar.cpp
View file @
87ab5a94
...
...
@@ -20,8 +20,9 @@
// =============================================================================
namespace
LinphonePrivate
{
static
const
char
*
grammar
=
LINPHONE_BEGIN_NAMESPACE
static
const
char
*
grammar
=
// See: https://tools.ietf.org/html/rfc3862
R"==GRAMMAR==(
Message = Headers CRLF Headers CRLF
...
...
@@ -200,8 +201,9 @@ full-time = partial-time time-offset
date-time = full-date "T" full-time
)==GRAMMAR=="
;
}
const
char
*
LinphonePrivate
::
Cpim
::
getGrammar
()
{
const
char
*
Cpim
::
getGrammar
()
{
return
grammar
;
}
LINPHONE_END_NAMESPACE
src/cpim/parser/cpim-grammar.h
View file @
87ab5a94
...
...
@@ -19,12 +19,16 @@
#ifndef _CPIM_GRAMMAR_H_
#define _CPIM_GRAMMAR_H_
#include "utils/general.h"
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
const
char
*
getGrammar
();
}
LINPHONE_BEGIN_NAMESPACE
namespace
Cpim
{
const
char
*
getGrammar
();
}
LINPHONE_END_NAMESPACE
#endif // ifndef _CPIM_GRAMMAR_H_
src/cpim/parser/cpim-parser.cpp
View file @
87ab5a94
...
...
@@ -28,181 +28,179 @@
#include "cpim-parser.h"
using
namespace
std
;
using
namespace
LinphonePrivate
;
// =============================================================================
namespace
LinphonePrivate
{
namespace
Cpim
{
class
Node
{
public:
virtual
~
Node
()
=
default
;
};
using
namespace
std
;
class
HeaderNode
:
public
Node
{
public:
HeaderNode
()
=
default
;
explicit
HeaderNode
(
const
Header
&
header
)
{
mName
=
header
.
getName
();
mValue
=
header
.
getValue
();
// Generic header.
const
GenericHeader
*
genericHeader
=
dynamic_cast
<
const
GenericHeader
*>
(
&
header
);
if
(
genericHeader
)
{
for
(
const
auto
&
parameter
:
*
genericHeader
->
getParameters
())
mParameters
+=
";"
+
parameter
.
first
+
"="
+
parameter
.
second
;
return
;
}
// Subject header.
const
SubjectHeader
*
subjectHeader
=
dynamic_cast
<
const
SubjectHeader
*>
(
&
header
);
if
(
subjectHeader
)
{
const
string
language
=
subjectHeader
->
getLanguage
();
if
(
!
language
.
empty
())
mParameters
=
";lang="
+
language
;
}
}
LINPHONE_BEGIN_NAMESPACE
string
getName
()
const
{
return
mName
;
}
namespace
Cpim
{
class
Node
{
public:
virtual
~
Node
()
=
default
;
};
void
setName
(
const
string
&
name
)
{
mName
=
name
;
}
class
HeaderNode
:
public
Node
{
public:
HeaderNode
()
=
default
;
string
getParameters
()
const
{
return
mParameters
;
}
explicit
HeaderNode
(
const
Header
&
header
)
{
mName
=
header
.
getName
()
;
mValue
=
header
.
getValue
();
void
setParameters
(
const
string
&
parameters
)
{
mParameters
=
parameters
;
// Generic header.
const
GenericHeader
*
genericHeader
=
dynamic_cast
<
const
GenericHeader
*>
(
&
header
);
if
(
genericHeader
)
{
for
(
const
auto
&
parameter
:
*
genericHeader
->
getParameters
())
mParameters
+=
";"
+
parameter
.
first
+
"="
+
parameter
.
second
;
return
;
}
string
getValue
()
const
{
return
mValue
;
// Subject header.
const
SubjectHeader
*
subjectHeader
=
dynamic_cast
<
const
SubjectHeader
*>
(
&
header
);
if
(
subjectHeader
)
{
const
string
language
=
subjectHeader
->
getLanguage
();
if
(
!
language
.
empty
())
mParameters
=
";lang="
+
language
;
}
}
void
setValu
e
(
const
string
&
value
)
{
mValue
=
valu
e
;
}
string
getNam
e
(
)
const
{
return
mNam
e
;
}
shared_ptr
<
Header
>
createHeader
(
bool
force
)
const
;
void
setName
(
const
string
&
name
)
{
mName
=
name
;
}
private:
template
<
typename
T
>
shared_ptr
<
Header
>
createCoreHeader
(
bool
force
)
const
{
shared_ptr
<
T
>
header
=
make_shared
<
T
>
();
if
(
force
)
header
->
force
(
mValue
);
else
if
(
!
header
->
setValue
(
mValue
))
{
lWarning
()
<<
"Unable to set value on core header: `"
<<
mName
<<
"` => `"
<<
mValue
<<
"`."
;
return
nullptr
;
}
string
getParameters
()
const
{
return
mParameters
;
}
return
header
;
}