PTLib
Version 2.14.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
pils.h
Go to the documentation of this file.
1
/*
2
* pils.h
3
*
4
* Microsoft Internet Location Server Protocol interface class.
5
*
6
* Portable Windows Library
7
*
8
* Copyright (c) 1993-2003 Equivalence Pty. Ltd.
9
*
10
* The contents of this file are subject to the Mozilla Public License
11
* Version 1.0 (the "License"); you may not use this file except in
12
* compliance with the License. You may obtain a copy of the License at
13
* http://www.mozilla.org/MPL/
14
*
15
* Software distributed under the License is distributed on an "AS IS"
16
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17
* the License for the specific language governing rights and limitations
18
* under the License.
19
*
20
* The Original Code is Portable Windows Library.
21
*
22
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23
*
24
* Contributor(s): ______________________________________.
25
*
26
* $Revision: 21788 $
27
* $Author: rjongbloed $
28
* $Date: 2008-12-12 16:42:13 +1100 (Fri, 12 Dec 2008) $
29
*/
30
31
#ifndef PTLIB_PILS_H
32
#define PTLIB_PILS_H
33
34
#ifdef P_USE_PRAGMA
35
#pragma interface
36
#endif
37
38
#if P_LDAP
39
40
#include <
ptlib/sockets.h
>
41
#include <
ptclib/pldap.h
>
42
43
46
class
PILSSession
:
public
PLDAPSession
47
{
48
PCLASSINFO
(
PILSSession
,
PLDAPSession
)
49
public
:
52
PILSSession
();
53
63
class
MSIPAddress
:
public
PIPSocket::Address
64
{
65
public
:
66
MSIPAddress
(DWORD a = 0) :
Address
(a) { }
67
MSIPAddress
(
const
PIPSocket::Address
& a) :
Address
(a) { }
68
MSIPAddress
(
const
PString
& dotNotation) :
Address
(dotNotation) { }
69
MSIPAddress
(PINDEX len,
const
BYTE * bytes) :
Address
(len, bytes) { }
70
71
MSIPAddress
&
operator=
(DWORD a) { Address::operator=(a);
return
*
this
; }
72
MSIPAddress
&
operator=
(
const
PIPSocket::Address
& a) { Address::operator=(a);
return
*
this
; }
73
MSIPAddress
&
operator=
(
const
PString
& dotNotation) { Address::operator=(dotNotation);
return
*
this
; }
74
75
friend
istream &
operator>>
(istream & s,
MSIPAddress
& a);
76
friend
ostream &
operator<<
(ostream & s,
MSIPAddress
& a);
77
};
78
79
PLDAP_STRUCT_BEGIN
(RTPerson)
80
PLDAP_ATTR_SIMP
(RTPerson,
PString
, cn);
// Must be non-empty
81
PLDAP_ATTR_SIMP
(RTPerson, PString, c);
82
PLDAP_ATTR_SIMP
(RTPerson, PString, o);
83
PLDAP_ATTR_SIMP
(RTPerson, PString, surname);
84
PLDAP_ATTR_SIMP
(RTPerson, PString, givenName);
85
PLDAP_ATTR_SIMP
(RTPerson, PString, rfc822Mailbox);
// Must be non-empty
86
PLDAP_ATTR_SIMP
(RTPerson, PString, location);
87
PLDAP_ATTR_SIMP
(RTPerson, PString, comment);
88
PLDAP_ATTR_SIMP
(RTPerson, MSIPAddress, sipAddress);
89
PLDAP_ATTR_SIMP
(RTPerson,
PWORDArray
, sport);
90
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, sflags, 0);
91
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, ssecurity, 0);
92
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, smodop, 0);
93
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, sttl, 3600);
94
PLDAP_ATTR_SIMP
(RTPerson,
PStringList
, sprotid);
95
PLDAP_ATTR_SIMP
(RTPerson, PStringList, sprotmimetype);
96
PLDAP_ATTR_INIT
(RTPerson, PString, sappid,
PProcess
::Current().GetName());
// Must be non-empty
97
PLDAP_ATTR_INIT
(RTPerson, PString, sappguid, "none");
// Must be non-empty
98
PLDAP_ATTR_SIMP
(RTPerson, PStringList, smimetype);
99
PLDAP_ATTR_INIT
(RTPerson,
PBoolean
, ilsa32833566, 0);
// 1=audio capable
100
PLDAP_ATTR_INIT
(RTPerson, PBoolean, ilsa32964638, 0);
// 1=video capable
101
PLDAP_ATTR_INIT
(RTPerson, PBoolean, ilsa26214430, 0);
// 1=in a call
102
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, ilsa26279966, 0);
// unknown
103
PLDAP_ATTR_INIT
(RTPerson,
unsigned
, ilsa39321630, 0);
// 1 personal; 2 business user; 4 adults-only
104
PLDAP_ATTR_INIT
(RTPerson, time_t, timestamp,
PTime
().GetTimeInSeconds());
105
106
public:
107
PString
GetDN
() const;
108
109
PLDAP_STRUCT_END
();
110
111
PBoolean
AddPerson
(
112
const RTPerson & person
113
);
114
115
PBoolean
ModifyPerson
(
116
const RTPerson & person
117
);
118
119
PBoolean
DeletePerson
(
120
const RTPerson & person
121
);
122
123
PBoolean
SearchPerson
(
124
const PString & canonicalName,
125
RTPerson & person
126
);
127
128
PList
<RTPerson>
SearchPeople
(
129
const PString & filter
130
);
131
};
132
133
#endif // P_LDAP
134
135
#endif // PTLIB_PILS_H
136
137
138
// End of file ////////////////////////////////////////////////////////////////
include
ptclib
pils.h
Generated on Fri Oct 10 2014 21:15:13 for PTLib by
1.8.3.1