1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef _nsLDAPModification_h_
7 #define _nsLDAPModification_h_
8 
9 #include "nsILDAPModification.h"
10 #include "nsString.h"
11 #include "nsCOMPtr.h"
12 #include "mozilla/Mutex.h"
13 
14 // 5b0f4d00-062e-11d6-a7f2-fc943c3c039c
15 //
16 #define NS_LDAPMODIFICATION_CID                      \
17   {                                                  \
18     0x5b0f4d00, 0x062e, 0x11d6, {                    \
19       0xa7, 0xf2, 0xfc, 0x94, 0x3c, 0x3c, 0x03, 0x9c \
20     }                                                \
21   }
22 
23 class nsLDAPModification : public nsILDAPModification {
24  public:
25   NS_DECL_THREADSAFE_ISUPPORTS
26   NS_DECL_NSILDAPMODIFICATION
27 
28   // constructor & destructor
29   //
30   nsLDAPModification();
31 
32   nsresult Init();
33 
34  private:
35   virtual ~nsLDAPModification();
36 
37   int32_t mOperation;
38   nsCString mType;
39   nsTArray<RefPtr<nsILDAPBERValue>> mValues;
40   mozilla::Mutex mValuesLock;
41 };
42 
43 #endif  // _nsLDAPModification_h_
44