Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
0cf743b7
Kaydet (Commit)
0cf743b7
authored
Şub 07, 2013
tarafından
Milan Crha
Kaydeden (comit)
Caolán McNamara
Şub 07, 2013
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
sketch out how to port to e-d-s 3.6
Change-Id: I04d2a4d7d1520567dd0eb929ffb5d9fa53d35dd4
üst
13bdce91
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
55 additions
and
62 deletions
+55
-62
NDatabaseMetaData.cxx
connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+25
-24
NResultSet.cxx
connectivity/source/drivers/evoab2/NResultSet.cxx
+30
-38
No files found.
connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
Dosyayı görüntüle @
0cf743b7
...
...
@@ -1075,6 +1075,15 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getColumns(
return
xResultSet
;
}
// -------------------------------------------------------------------------
static
bool
isSourceBackend
(
ESource
*
pSource
,
const
char
*
backendname
)
{
if
(
!
pSource
||
e_source_has_extension
(
pSource
,
"Address Book"
))
// E_SOURCE_EXTENSION_ADDRESS_BOOK
return
false
;
gpointer
extension
=
e_source_get_extension
(
pSource
,
"Address Book"
);
// E_SOURCE_EXTENSION_ADDRESS_BOOK
return
extension
&&
g_strcmp0
(
e_source_backend_get_backend_name
(
extension
),
backendname
)
==
0
;
}
Reference
<
XResultSet
>
SAL_CALL
OEvoabDatabaseMetaData
::
getTables
(
const
Any
&
/*catalog*/
,
const
::
rtl
::
OUString
&
/*schemaPattern*/
,
const
::
rtl
::
OUString
&
/*tableNamePattern*/
,
const
Sequence
<
::
rtl
::
OUString
>&
types
)
throw
(
SQLException
,
RuntimeException
)
...
...
@@ -1111,41 +1120,31 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables(
ODatabaseMetaDataResultSet
::
ORows
aRows
;
ESourceList
*
pSourceList
;
if
(
!
e_book_get_addressbooks
(
&
pSourceList
,
NULL
)
)
pSourceList
=
NULL
;
GSList
*
pSources
;
pSources
=
e_source_registry_list_sources
(
registry
,
"Address Book"
);
// E_SOURCE_EXTENSION_ADDRESS_BOOK
G
SList
*
g
;
for
(
g
=
e_source_list_peek_groups
(
pSourceList
);
g
;
g
=
g
->
next
)
G
List
*
liter
;
for
(
liter
=
pSources
;
liter
;
liter
=
liter
->
next
)
{
GSList
*
s
;
const
char
*
p
=
e_source_group_peek_base_uri
(
E_SOURCE_GROUP
(
g
->
data
))
;
ESource
*
pSource
=
E_SOURCE
(
liter
->
data
)
;
bool
can
=
false
;
switch
(
m_pConnection
->
getSDBCAddressType
())
{
case
SDBCAddress
:
:
EVO_GWISE
:
if
(
!
strncmp
(
"groupwise://"
,
p
,
11
))
break
;
else
continue
;
can
=
isSourceBackend
(
pSource
,
"groupwise"
);
// not supported in evo/eds 3.6.x+, somehow
break
;
case
SDBCAddress
:
:
EVO_LOCAL
:
if
(
!
strncmp
(
"file://"
,
p
,
6
)
||
!
strncmp
(
"local://"
,
p
,
6
)
)
break
;
else
continue
;
can
=
isSourceBackend
(
pSource
,
"local"
);
break
;
case
SDBCAddress
:
:
EVO_LDAP
:
if
(
!
strncmp
(
"ldap://"
,
p
,
6
))
break
;
else
continue
;
can
=
isSourceBackend
(
pSource
,
"ldap"
);
break
;
case
SDBCAddress
:
:
Unknown
:
break
;
}
for
(
s
=
e_source_group_peek_sources
(
E_SOURCE_GROUP
(
g
->
data
));
s
;
s
=
s
->
next
)
{
ESource
*
pSource
=
E_SOURCE
(
s
->
data
);
rtl
::
OUString
aName
=
rtl
::
OStringToOUString
(
e_source_peek_name
(
pSource
),
if
(
can
)
{
rtl
::
OUString
aName
=
rtl
::
OStringToOUString
(
e_source_get_display_name
(
pSource
),
RTL_TEXTENCODING_UTF8
);
ODatabaseMetaDataResultSet
::
ORow
aRow
(
3
);
...
...
@@ -1153,10 +1152,12 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables(
aRow
.
push_back
(
new
ORowSetValueDecorator
(
aName
));
aRow
.
push_back
(
new
ORowSetValueDecorator
(
aTable
));
aRow
.
push_back
(
ODatabaseMetaDataResultSet
::
getEmptyValue
());
// add also e_source_get_uid (pSource)
aRows
.
push_back
(
aRow
);
}
}
g_slist_free_full
(
pSources
,
g_object_unref
);
pResult
->
setRows
(
aRows
);
return
xRef
;
...
...
connectivity/source/drivers/evoab2/NResultSet.cxx
Dosyayı görüntüle @
0cf743b7
...
...
@@ -126,9 +126,11 @@ OEvoabResultSet::~OEvoabResultSet()
// -------------------------------------------------------------------------
static
ESource
*
findSource
(
const
char
*
name
)
findSource
(
const
char
*
uid
)
{
ESourceList
*
pSourceList
=
NULL
;
//ideally as
return
e_source_registry_ref_source
(
registry
,
uid
);
/*ESourceList *pSourceList = NULL;
g_return_val_if_fail (name != NULL, NULL);
...
...
@@ -144,51 +146,48 @@ findSource( const char *name )
return pSource;
}
}
return
NULL
;
return NULL;
*/
}
static
EBook
*
static
EBook
Client
*
openBook
(
const
char
*
abname
)
{
ESource
*
pSource
=
findSource
(
abname
);
EBook
*
pBook
=
NULL
;
EBook
Client
*
pBook
=
NULL
;
if
(
pSource
)
pBook
=
e_book_new
(
pSource
,
NULL
);
pBook
=
e_book_
client_
new
(
pSource
,
NULL
);
if
(
pBook
&&
!
e_
book_open
(
pBook
,
TRUE
,
NULL
))
if
(
pBook
&&
!
e_
client_open_sync
(
pBook
,
TRUE
,
NULL
,
NULL
))
{
g_object_unref
(
G_OBJECT
(
pBook
));
pBook
=
NULL
;
}
if
(
pSource
)
g_object_unref
(
pSource
);
return
pBook
;
}
static
bool
is
LDAP
(
EBook
*
pBook
)
static
bool
is
BookBackend
(
EBookClient
*
pBook
,
const
char
*
backendname
)
{
return
pBook
&&
!
strncmp
(
"ldap://"
,
e_book_get_uri
(
pBook
),
6
);
}
ESource
*
pSource
=
e_client_get_source
((
EClient
*
)
pBook
);
static
bool
isLocal
(
EBook
*
pBook
)
{
return
pBook
&&
(
!
strncmp
(
"file://"
,
e_book_get_uri
(
pBook
),
6
)
||
!
strncmp
(
"local:"
,
e_book_get_uri
(
pBook
),
6
)
);
if
(
!
pSource
||
e_source_has_extension
(
pSource
,
"Address Book"
))
// E_SOURCE_EXTENSION_ADDRESS_BOOK
return
false
;
gpointer
extension
=
e_source_get_extension
(
pSource
,
"Address Book"
);
// E_SOURCE_EXTENSION_ADDRESS_BOOK
return
extension
&&
g_strcmp0
(
e_source_backend_get_backend_name
(
extension
),
backendname
)
==
0
;
}
static
bool
is
AuthRequired
(
EBook
*
pBook
)
static
bool
is
LDAP
(
EBookClient
*
pBook
)
{
return
e_source_get_property
(
e_book_get_source
(
pBook
),
"auth"
)
!=
NULL
;
return
pBook
&&
isBookBackend
(
pBook
,
"ldap"
);
}
static
rtl
::
OString
getUserName
(
EBook
*
pBook
)
static
bool
isLocal
(
EBookClient
*
pBook
)
{
rtl
::
OString
aName
;
if
(
isLDAP
(
pBook
)
)
aName
=
e_source_get_property
(
e_book_get_source
(
pBook
),
"binddn"
);
else
aName
=
e_source_get_property
(
e_book_get_source
(
pBook
),
"user"
);
return
aName
;
return
pBook
&&
isBookBackend
(
pBook
,
"local"
);
}
static
::
rtl
::
OUString
...
...
@@ -210,24 +209,17 @@ valueToBool( GValue& _rValue )
}
static
bool
executeQuery
(
EBook
*
pBook
,
EBookQuery
*
pQuery
,
GList
**
ppList
,
executeQuery
(
EBook
Client
*
pBook
,
EBookQuery
*
pQuery
,
GList
**
ppList
,
rtl
::
OString
&
rPassword
,
GError
**
pError
)
{
ESource
*
pSource
=
e_book_get_source
(
pBook
);
bool
bSuccess
=
false
;
bool
bAuthSuccess
=
true
;
bool
bSuccess
;
char
*
sexp
;
*
ppList
=
NULL
;
if
(
isAuthRequired
(
pBook
)
)
{
rtl
::
OString
aUser
(
getUserName
(
pBook
)
);
const
char
*
pAuth
=
e_source_get_property
(
pSource
,
"auth"
);
bAuthSuccess
=
e_book_authenticate_user
(
pBook
,
aUser
.
getStr
(),
rPassword
.
getStr
(),
pAuth
,
pError
);
}
if
(
bAuthSuccess
)
bSuccess
=
e_book_get_contacts
(
pBook
,
pQuery
,
ppList
,
pError
);
sexp
=
e_book_query_to_string
(
pQuery
);
bSuccess
=
e_book_client_get_contacts_sync
(
pBook
,
sexp
,
ppList
,
pError
);
g_free
(
sexp
);
return
bSuccess
;
}
...
...
@@ -507,7 +499,7 @@ void OEvoabResultSet::construct( const QueryData& _rData )
{
ENSURE_OR_THROW
(
_rData
.
getQuery
(),
"internal error: no EBookQuery"
);
EBook
*
pBook
=
openBook
(
::
rtl
::
OUStringToOString
(
_rData
.
sTable
,
RTL_TEXTENCODING_UTF8
).
getStr
());
EBook
Client
*
pBook
=
openBook
(
::
rtl
::
OUStringToOString
(
_rData
.
sTable
,
RTL_TEXTENCODING_UTF8
).
getStr
());
if
(
!
pBook
)
m_pConnection
->
throwGenericSQLException
(
STR_CANNOT_OPEN_BOOK
,
*
this
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment