*/
void init(const string& hostname, int port);
+ /**
+ * Start TLS on this connection. This isn't in the constructor,
+ * because it could fail (i.e. server doesn't have SSL cert, client
+ * api wasn't compiled against OpenSSL, etc.). If you need TLS,
+ * then you should error if this call fails with an error code.
+ */
+ int start_tls();
+
/**
* Performs a simple authentication with the server
*
void setConstraints(LDAPConstraints *cons);
const LDAPConstraints* getConstraints() const ;
+
+ /**
+ * Turn on caching, maxmem is in MB and timeout is in seconds.
+ * maxmem can be zero if you want to restrict caching by timeout only.
+ */
+ int enableCache(long timeout, long maxmem);
+ /// disable caching.
+ void disableCache();
+ /// is cacheEnabled?
+ bool getCacheEnabled();
+ /// uncache a specific dn. Used internally by methods that write.
+ void uncache_entry(string &dn);
+ /// used to clear the cache. Probably should be used after creating
+ /// an object that a cached search should find.
+ void flush_cache();
+
};
#endif //LDAP_CONNECTION_H