[CalendarServer-changes] [1953] PyOpenDirectory/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Thu Oct 11 13:11:59 PDT 2007
Revision: 1953
http://trac.macosforge.org/projects/calendarserver/changeset/1953
Author: cdaboo at apple.com
Date: 2007-10-11 13:11:58 -0700 (Thu, 11 Oct 2007)
Log Message:
-----------
Refactor code so that we can make all queries thread safe. We now have a class that is instantiated with each
query/auth and that maintains the buffers, DS state for the duration of that query only. Thus each query
is independent of any others that may happen at the same time in a different thread.
Modified Paths:
--------------
PyOpenDirectory/trunk/setup.py
PyOpenDirectory/trunk/src/CDirectoryService.cpp
PyOpenDirectory/trunk/src/CDirectoryService.h
PyOpenDirectory/trunk/src/PythonWrapper.cpp
PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.mode1v3
PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.pbxuser
PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/project.pbxproj
Added Paths:
-----------
PyOpenDirectory/trunk/src/CDirectoryServiceException.cpp
PyOpenDirectory/trunk/src/CDirectoryServiceException.h
PyOpenDirectory/trunk/src/CDirectoryServiceManager.cpp
PyOpenDirectory/trunk/src/CDirectoryServiceManager.h
Modified: PyOpenDirectory/trunk/setup.py
===================================================================
--- PyOpenDirectory/trunk/setup.py 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/setup.py 2007-10-11 20:11:58 UTC (rev 1953)
@@ -29,7 +29,13 @@
module1 = Extension(
'opendirectory',
extra_link_args = ['-framework', 'DirectoryService', "-framework", "CoreFoundation"],
- sources = ['src/PythonWrapper.cpp', 'src/CDirectoryService.cpp', 'src/CFStringUtil.cpp'],
+ sources = [
+ 'src/PythonWrapper.cpp',
+ 'src/CDirectoryServiceManager.cpp',
+ 'src/CDirectoryService.cpp',
+ 'src/CDirectoryServiceException.cpp',
+ 'src/CFStringUtil.cpp',
+ ],
)
setup (
Modified: PyOpenDirectory/trunk/src/CDirectoryService.cpp
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryService.cpp 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/src/CDirectoryService.cpp 2007-10-11 20:11:58 UTC (rev 1953)
@@ -21,6 +21,8 @@
#include "CDirectoryService.h"
+#include "CDirectoryServiceException.h"
+
#include "CFStringUtil.h"
#include <Python.h>
@@ -31,9 +33,6 @@
extern PyObject* ODException_class;
-# define ThrowIfDSErr(x) { if (x != eDSNoErr) ThrowDSError(x, __FILE__, __LINE__); }
-# define ThrowIfNULL(x) { if (x == NULL) ThrowDSError(-1, __FILE__, __LINE__); }
-
// This is copied from WhitePages
#define kDSStdRecordTypeResources "dsRecTypeStandard:Resources"
@@ -97,9 +96,9 @@
// Get attribute map
return _ListAllRecordsWithAttributes(recordType, NULL, attributes);
}
- catch(SDirectoryServiceException& dserror)
+ catch(CDirectoryServiceException& dserror)
{
- SetPythonException(dserror);
+ dserror.SetPythonException();
return NULL;
}
catch(...)
@@ -131,9 +130,9 @@
// Get attribute map
return _QueryRecordsWithAttributes(attr, value, matchType, NULL, casei, recordType, attributes);
}
- catch(SDirectoryServiceException& dserror)
+ catch(CDirectoryServiceException& dserror)
{
- SetPythonException(dserror);
+ dserror.SetPythonException();
return NULL;
}
catch(...)
@@ -163,9 +162,9 @@
// Get attribute map
return _QueryRecordsWithAttributes(NULL, NULL, 0, query, casei, recordType, attributes);
}
- catch(SDirectoryServiceException& dserror)
+ catch(CDirectoryServiceException& dserror)
{
- SetPythonException(dserror);
+ dserror.SetPythonException();
return NULL;
}
catch(...)
@@ -191,9 +190,9 @@
result = NativeAuthenticationBasicToNode(nodename, user, pswd);
return true;
}
- catch(SDirectoryServiceException& dserror)
+ catch(CDirectoryServiceException& dserror)
{
- SetPythonException(dserror);
+ dserror.SetPythonException();
return false;
}
catch(...)
@@ -219,9 +218,9 @@
result = NativeAuthenticationDigestToNode(nodename, user, challenge, response, method);
return true;
}
- catch(SDirectoryServiceException& dserror)
+ catch(CDirectoryServiceException& dserror)
{
- SetPythonException(dserror);
+ dserror.SetPythonException();
return false;
}
catch(...)
@@ -403,7 +402,7 @@
CloseNode();
CloseService();
}
- catch(SDirectoryServiceException& dsStatus)
+ catch(CDirectoryServiceException& dsStatus)
{
// Cleanup
if (context != NULL)
@@ -652,7 +651,7 @@
CloseNode();
CloseService();
}
- catch(SDirectoryServiceException& dsStatus)
+ catch(CDirectoryServiceException& dsStatus)
{
// Cleanup
if (context != NULL)
@@ -1113,18 +1112,3 @@
return result;
}
-void CDirectoryService::ThrowDSError(long error, const char* file, long line)
-{
- CDirectoryService::SDirectoryServiceException dirStatus;
- dirStatus.mDSError = error;
- ::snprintf(dirStatus.mDescription, 1024, "Exception raised in file %s at line %ld", file, line);
- throw dirStatus;
-}
-
-void CDirectoryService::SetPythonException(const SDirectoryServiceException& ex)
-{
- char error[1024];
- ::snprintf(error, 1024, "%s %s", "DirectoryServices Error:", ex.mDescription);
- PyErr_SetObject(ODException_class, Py_BuildValue("((s:i))", error, ex.mDSError));
-}
-
Modified: PyOpenDirectory/trunk/src/CDirectoryService.h
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryService.h 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/src/CDirectoryService.h 2007-10-11 20:11:58 UTC (rev 1953)
@@ -41,12 +41,6 @@
private:
- struct SDirectoryServiceException
- {
- long mDSError;
- char mDescription[1024];
- };
-
const char* mNodeName;
tDirReference mDir;
tDirNodeReference mNode;
@@ -74,7 +68,4 @@
char* CStringFromBuffer(tDataBufferPtr data);
char* CStringFromData(const char* data, size_t len);
-
- void ThrowDSError(long error, const char* file, long line);
- void SetPythonException(const SDirectoryServiceException& ex);
};
Added: PyOpenDirectory/trunk/src/CDirectoryServiceException.cpp
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryServiceException.cpp (rev 0)
+++ PyOpenDirectory/trunk/src/CDirectoryServiceException.cpp 2007-10-11 20:11:58 UTC (rev 1953)
@@ -0,0 +1,55 @@
+/**
+ * A class that wraps high-level Directory Service calls needed by the
+ * CalDAV server.
+ **
+ * Copyright (c) 2006-2007 Apple Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * DRI: Cyrus Daboo, cdaboo at apple.com
+ **/
+
+#include "CDirectoryServiceException.h"
+
+#include <Python.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+extern PyObject* ODException_class;
+
+#pragma mark -----Public API
+
+CDirectoryServiceException::CDirectoryServiceException(long error, const char* file, long line)
+{
+ mDSError = error;
+ ::snprintf(mDescription, 1024, "Exception raised in file %s at line %ld", file, line);
+}
+
+CDirectoryServiceException::~CDirectoryServiceException()
+{
+}
+
+void CDirectoryServiceException::ThrowDSError(long error, const char* file, long line)
+{
+ CDirectoryServiceException dirStatus(error, file, line);
+ throw dirStatus;
+}
+
+void CDirectoryServiceException::SetPythonException()
+{
+ char error[1024];
+ ::snprintf(error, 1024, "%s %s", "DirectoryServices Error:", mDescription);
+ PyErr_SetObject(ODException_class, Py_BuildValue("((s:i))", error, mDSError));
+}
+
Added: PyOpenDirectory/trunk/src/CDirectoryServiceException.h
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryServiceException.h (rev 0)
+++ PyOpenDirectory/trunk/src/CDirectoryServiceException.h 2007-10-11 20:11:58 UTC (rev 1953)
@@ -0,0 +1,40 @@
+/**
+ * A class that wraps high-level Directory Service calls needed by the
+ * CalDAV server.
+ **
+ * Copyright (c) 2006-2007 Apple Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * DRI: Cyrus Daboo, cdaboo at apple.com
+ **/
+
+#pragma once
+
+class CDirectoryServiceException
+{
+public:
+ CDirectoryServiceException(long error, const char* file, long line);
+ ~CDirectoryServiceException();
+
+ static void ThrowDSError(long error, const char* file, long line);
+
+ void SetPythonException();
+
+private:
+ long mDSError;
+ char mDescription[1024];
+};
+
+# define ThrowIfDSErr(x) { if (x != eDSNoErr) CDirectoryServiceException::ThrowDSError(x, __FILE__, __LINE__); }
+# define ThrowIfNULL(x) { if (x == NULL) CDirectoryServiceException::ThrowDSError(-1, __FILE__, __LINE__); }
Added: PyOpenDirectory/trunk/src/CDirectoryServiceManager.cpp
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryServiceManager.cpp (rev 0)
+++ PyOpenDirectory/trunk/src/CDirectoryServiceManager.cpp 2007-10-11 20:11:58 UTC (rev 1953)
@@ -0,0 +1,42 @@
+/**
+ * A class that wraps high-level Directory Service calls needed by the
+ * CalDAV server.
+ **
+ * Copyright (c) 2006-2007 Apple Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * DRI: Cyrus Daboo, cdaboo at apple.com
+ **/
+
+#include "CDirectoryServiceManager.h"
+
+#include "CDirectoryService.h"
+#include "CDirectoryServiceException.h"
+
+#pragma mark -----Public API
+
+CDirectoryServiceManager::CDirectoryServiceManager(const char* nodename)
+{
+ mNodeName = ::strdup(nodename);
+}
+
+CDirectoryServiceManager::~CDirectoryServiceManager()
+{
+ ::free(mNodeName);
+}
+
+CDirectoryService* CDirectoryServiceManager::GetService()
+{
+ return new CDirectoryService(mNodeName);
+}
Added: PyOpenDirectory/trunk/src/CDirectoryServiceManager.h
===================================================================
--- PyOpenDirectory/trunk/src/CDirectoryServiceManager.h (rev 0)
+++ PyOpenDirectory/trunk/src/CDirectoryServiceManager.h 2007-10-11 20:11:58 UTC (rev 1953)
@@ -0,0 +1,39 @@
+/**
+ * A class that wraps high-level Directory Service calls needed by the
+ * CalDAV server.
+ **
+ * Copyright (c) 2006-2007 Apple Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * DRI: Cyrus Daboo, cdaboo at apple.com
+ **/
+
+#pragma once
+
+class CDirectoryService;
+
+class CDirectoryServiceManager
+{
+public:
+ CDirectoryServiceManager(const char* nodename);
+ ~CDirectoryServiceManager();
+
+ void OpenService();
+ void CloseService();
+
+ CDirectoryService* GetService();
+
+private:
+ char* mNodeName;
+};
Modified: PyOpenDirectory/trunk/src/PythonWrapper.cpp
===================================================================
--- PyOpenDirectory/trunk/src/PythonWrapper.cpp 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/src/PythonWrapper.cpp 2007-10-11 20:11:58 UTC (rev 1953)
@@ -19,9 +19,12 @@
#include <CoreFoundation/CoreFoundation.h>
#include <Python.h>
+#include "CDirectoryServiceManager.h"
#include "CDirectoryService.h"
#include "CFStringUtil.h"
+#include <memory>
+
#ifndef Py_RETURN_TRUE
#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
#endif
@@ -224,8 +227,8 @@
*/
extern "C" void odDestroy(void* obj)
{
- CDirectoryService* ds = static_cast<CDirectoryService*>(obj);
- delete ds;
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(obj);
+ delete dsmgr;
}
/*
@@ -247,10 +250,10 @@
return NULL;
}
- CDirectoryService* ds = new CDirectoryService(nodename);
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = new CDirectoryServiceManager(nodename);
+ if (dsmgr != NULL)
{
- return PyCObject_FromVoidPtr(ds, odDestroy);
+ return PyCObject_FromVoidPtr(dsmgr, odDestroy);
}
PyErr_SetObject(ODException_class, Py_BuildValue("((s:i))", "DirectoryServices odInit: could not initialize directory service", 0));
@@ -287,10 +290,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->ListAllRecordsWithAttributes(recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->ListAllRecordsWithAttributes(recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyDict(list);
@@ -350,10 +357,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->QueryRecordsWithAttribute(attr, value, matchType, casei, recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->QueryRecordsWithAttribute(attr, value, matchType, casei, recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyDict(list);
@@ -409,10 +420,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->QueryRecordsWithAttributes(query, casei, recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->QueryRecordsWithAttributes(query, casei, recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyDict(list);
@@ -460,10 +475,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->ListAllRecordsWithAttributes(recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->ListAllRecordsWithAttributes(recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyList(list);
@@ -523,10 +542,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->QueryRecordsWithAttribute(attr, value, matchType, casei, recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->QueryRecordsWithAttribute(attr, value, matchType, casei, recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyList(list);
@@ -582,10 +605,14 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
- CFMutableArrayRef list = ds->QueryRecordsWithAttributes(query, casei, recordType, cfattributes);
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
+ CFMutableArrayRef list = NULL;
+ Py_BEGIN_ALLOW_THREADS
+ list = ds->QueryRecordsWithAttributes(query, casei, recordType, cfattributes);
+ Py_END_ALLOW_THREADS
if (list != NULL)
{
PyObject* result = CFArrayArrayDictionaryToPyList(list);
@@ -626,13 +653,18 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
bool result = false;
- if (ds->AuthenticateUserBasic(nodename, user, pswd, result))
+ bool authresult = false;
+ Py_BEGIN_ALLOW_THREADS
+ result = ds->AuthenticateUserBasic(nodename, user, pswd, authresult);
+ Py_END_ALLOW_THREADS
+ if (result)
{
- if (result)
+ if (authresult)
Py_RETURN_TRUE;
else
Py_RETURN_FALSE;
@@ -672,13 +704,18 @@
return NULL;
}
- CDirectoryService* ds = static_cast<CDirectoryService*>(PyCObject_AsVoidPtr(pyds));
- if (ds != NULL)
+ CDirectoryServiceManager* dsmgr = static_cast<CDirectoryServiceManager*>(PyCObject_AsVoidPtr(pyds));
+ if (dsmgr != NULL)
{
+ std::auto_ptr<CDirectoryService> ds(dsmgr->GetService());
bool result = false;
- if (ds->AuthenticateUserDigest(nodename, user, challenge, response, method, result))
+ bool authresult = false;
+ Py_BEGIN_ALLOW_THREADS
+ result = ds->AuthenticateUserDigest(nodename, user, challenge, response, method, authresult);
+ Py_END_ALLOW_THREADS
+ if (result)
{
- if (result)
+ if (authresult)
Py_RETURN_TRUE;
else
Py_RETURN_FALSE;
Modified: PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.mode1v3
===================================================================
--- PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.mode1v3 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.mode1v3 2007-10-11 20:11:58 UTC (rev 1953)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ActivePerspectiveName</key>
@@ -72,9 +72,9 @@
<key>MaxInstances</key>
<string>n</string>
<key>Module</key>
- <string>PBXRunSessionModule</string>
+ <string>XCProjectFormatConflictsModule</string>
<key>Name</key>
- <string>Run Log</string>
+ <string>Project Format Conflicts List</string>
</dict>
<dict>
<key>BundleLoadPath</key>
@@ -167,6 +167,8 @@
<string>Snapshots Tool</string>
</dict>
</array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
<key>Description</key>
<string>DefaultDescriptionKey</string>
<key>DockingSystemVisible</key>
@@ -176,7 +178,7 @@
<key>FavBarConfig</key>
<dict>
<key>PBXProjectModuleGUID</key>
- <string>AF0015450B8A1E530045DAEE</string>
+ <string>AF275A240CAC15CA005A6274</string>
<key>XCBarModuleItemNames</key>
<dict/>
<key>XCBarModuleItems</key>
@@ -187,9 +189,9 @@
<key>Identifier</key>
<string>com.apple.perspectives.project.mode1v3</string>
<key>MajorVersion</key>
- <integer>32</integer>
+ <integer>33</integer>
<key>MinorVersion</key>
- <integer>1</integer>
+ <integer>0</integer>
<key>Name</key>
<string>Default</string>
<key>Notifications</key>
@@ -253,7 +255,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>316</real>
+ <real>244</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -271,11 +273,12 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
+ <integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {316, 1060}}</string>
+ <string>{{0, 0}, {244, 682}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -287,19 +290,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {333, 1078}}</string>
+ <string>{{0, 0}, {261, 700}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>316</real>
+ <real>244</real>
</array>
<key>RubberWindowFrame</key>
- <string>0 59 1920 1119 0 0 1920 1178 </string>
+ <string>0 437 1259 741 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>333pt</string>
+ <string>261pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -310,7 +313,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>test.cpp</string>
+ <string>MyNewFile14.java</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -318,22 +321,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
- <string>test.cpp</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>AF63114C0B8F89FB000D1C1A</string>
- <key>history</key>
- <array>
- <string>AF6311050B8F74FC000D1C1A</string>
- <string>AF63112B0B8F85FF000D1C1A</string>
- <string>AF63112C0B8F85FF000D1C1A</string>
- </array>
- <key>prevStack</key>
- <array>
- <string>AF6311070B8F74FC000D1C1A</string>
- <string>AF63112D0B8F85FF000D1C1A</string>
- </array>
+ <string>MyNewFile14.java</string>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -344,14 +332,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {1582, 702}}</string>
+ <string>{{0, 0}, {993, 0}}</string>
<key>RubberWindowFrame</key>
- <string>0 59 1920 1119 0 0 1920 1178 </string>
+ <string>0 437 1259 741 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>702pt</string>
+ <string>0pt</string>
</dict>
<dict>
<key>BecomeActive</key>
@@ -366,18 +354,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 707}, {1582, 371}}</string>
+ <string>{{0, 5}, {993, 695}}</string>
<key>RubberWindowFrame</key>
- <string>0 59 1920 1119 0 0 1920 1178 </string>
+ <string>0 437 1259 741 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
- <string>371pt</string>
+ <string>695pt</string>
</dict>
</array>
<key>Proportion</key>
- <string>1582pt</string>
+ <string>993pt</string>
</dict>
</array>
<key>Name</key>
@@ -392,9 +380,9 @@
</array>
<key>TableOfContents</key>
<array>
- <string>AF63105B0B8F5542000D1C1A</string>
+ <string>AF02ACB10CBE789100F478B8</string>
<string>1CE0B1FE06471DED0097A5F4</string>
- <string>AF63105C0B8F5542000D1C1A</string>
+ <string>AF02ACB20CBE789100F478B8</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@@ -509,7 +497,7 @@
<key>ShelfIsVisible</key>
<false/>
<key>SourceDescription</key>
- <string>file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
@@ -528,46 +516,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>AF6311480B8F8910000D1C1A</string>
- <string>AF63112F0B8F85FF000D1C1A</string>
- <string>AF6311320B8F85FF000D1C1A</string>
- <string>AF6311330B8F85FF000D1C1A</string>
- <string>AF6311170B8F7A2C000D1C1A</string>
- <string>AF63111B0B8F7A2C000D1C1A</string>
- <string>AF63110F0B8F7686000D1C1A</string>
- <string>AF6311120B8F7686000D1C1A</string>
- <string>AF6311090B8F74FC000D1C1A</string>
- <string>AF63110C0B8F74FC000D1C1A</string>
- <string>AF6310FC0B8F7441000D1C1A</string>
- <string>AF6311020B8F7441000D1C1A</string>
- <string>AF6310FF0B8F7441000D1C1A</string>
- <string>AF6310DA0B8F6DD6000D1C1A</string>
- <string>AF6310D70B8F6DD6000D1C1A</string>
- <string>AF6310BF0B8F6BA0000D1C1A</string>
- <string>AF6310C80B8F6BA0000D1C1A</string>
- <string>AF6310C90B8F6BA0000D1C1A</string>
- <string>AF6310CA0B8F6BA0000D1C1A</string>
- <string>AF6310CB0B8F6BA0000D1C1A</string>
- <string>AF6310CC0B8F6BA0000D1C1A</string>
- <string>AF63108D0B8F664E000D1C1A</string>
- <string>1C78EAAD065D492600B07095</string>
- <string>1CD10A99069EF8BA00B06720</string>
- <string>AF6310910B8F664E000D1C1A</string>
- <string>AF6310920B8F664E000D1C1A</string>
- <string>AF6310930B8F664E000D1C1A</string>
- <string>AF0015490B8A1E6C0045DAEE</string>
- <string>AF6310730B8F5E00000D1C1A</string>
- <string>AF63106D0B8F585C000D1C1A</string>
- <string>AF63106E0B8F585C000D1C1A</string>
- <string>AF63106A0B8F585C000D1C1A</string>
- <string>AF63106F0B8F585C000D1C1A</string>
- <string>AF6310700B8F585C000D1C1A</string>
- <string>AF63105D0B8F5542000D1C1A</string>
- <string>AF6310630B8F5542000D1C1A</string>
- <string>/Users/cyrusdaboo/Documents/Development/Apple/eclipse/PyOpenDirectory/support/PyOpenDirectory.xcodeproj</string>
+ <string>AF275A0D0CAC0FEA005A6274</string>
+ <string>/Volumes/Data/Users/cyrusdaboo/Documents/Development/Apple/eclipse/PyOpenDirectory/support/PyOpenDirectory.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>0 59 1920 1119 0 0 1920 1178 </string>
+ <string>0 437 1259 741 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>
@@ -583,30 +536,30 @@
<key>Dock</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
- <string>PythonWrapper.cpp</string>
+ <string></string>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {1102, 398}}</string>
+ <string>{{0, 0}, {1224, 453}}</string>
<key>RubberWindowFrame</key>
- <string>674 408 1102 680 0 0 1920 1178 </string>
+ <string>25 406 1224 772 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>398pt</string>
+ <string>453pt</string>
</dict>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -621,18 +574,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 403}, {1102, 236}}</string>
+ <string>{{0, 458}, {1224, 450}}</string>
<key>RubberWindowFrame</key>
- <string>674 408 1102 680 0 0 1920 1178 </string>
+ <string>25 406 1224 772 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
<key>Proportion</key>
- <string>236pt</string>
+ <string>450pt</string>
</dict>
</array>
<key>Proportion</key>
- <string>639pt</string>
+ <string>731pt</string>
</dict>
</array>
<key>Name</key>
@@ -645,27 +598,23 @@
<true/>
<key>TableOfContents</key>
<array>
- <string>AF0015490B8A1E6C0045DAEE</string>
- <string>AF63107C0B8F62C5000D1C1A</string>
+ <string>AF275A0D0CAC0FEA005A6274</string>
+ <string>AF02AC5C0CBE6A8000F478B8</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.buildV3</string>
<key>WindowString</key>
- <string>674 408 1102 680 0 0 1920 1178 </string>
+ <string>25 406 1224 772 0 0 1920 1178 </string>
<key>WindowToolGUID</key>
- <string>AF0015490B8A1E6C0045DAEE</string>
+ <string>AF275A0D0CAC0FEA005A6274</string>
<key>WindowToolIsVisible</key>
<false/>
</dict>
<dict>
- <key>FirstTimeWindowDisplayed</key>
- <false/>
<key>Identifier</key>
<string>windowTool.debugger</string>
- <key>IsVertical</key>
- <true/>
<key>Layout</key>
<array>
<dict>
@@ -688,8 +637,8 @@
<string>yes</string>
<key>sizes</key>
<array>
- <string>{{0, 0}, {640, 452}}</string>
- <string>{{640, 0}, {763, 452}}</string>
+ <string>{{0, 0}, {317, 164}}</string>
+ <string>{{317, 0}, {377, 164}}</string>
</array>
</dict>
<key>VerticalSplitView</key>
@@ -704,8 +653,8 @@
<string>yes</string>
<key>sizes</key>
<array>
- <string>{{0, 0}, {1403, 452}}</string>
- <string>{{0, 452}, {1403, 435}}</string>
+ <string>{{0, 0}, {694, 164}}</string>
+ <string>{{0, 164}, {694, 216}}</string>
</array>
</dict>
</dict>
@@ -718,6 +667,8 @@
</dict>
<key>GeometryConfiguration</key>
<dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
<key>DebugConsoleVisible</key>
<string>None</string>
<key>DebugConsoleWindowFrame</key>
@@ -725,34 +676,18 @@
<key>DebugSTDIOWindowFrame</key>
<string>{{200, 200}, {500, 300}}</string>
<key>Frame</key>
- <string>{{0, 0}, {1403, 887}}</string>
- <key>PBXDebugSessionStackFrameViewKey</key>
- <dict>
- <key>DebugVariablesTableConfiguration</key>
- <array>
- <string>Name</string>
- <real>120</real>
- <string>Value</string>
- <real>127</real>
- <string>Summary</string>
- <real>491</real>
- </array>
- <key>Frame</key>
- <string>{{640, 0}, {763, 452}}</string>
- <key>RubberWindowFrame</key>
- <string>34 224 1403 928 0 0 1920 1178 </string>
- </dict>
+ <string>{{0, 0}, {694, 380}}</string>
<key>RubberWindowFrame</key>
- <string>34 224 1403 928 0 0 1920 1178 </string>
+ <string>321 238 694 422 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Proportion</key>
- <string>887pt</string>
+ <string>100%</string>
</dict>
</array>
<key>Proportion</key>
- <string>887pt</string>
+ <string>100%</string>
</dict>
</array>
<key>Name</key>
@@ -762,26 +697,22 @@
<string>PBXDebugSessionModule</string>
</array>
<key>StatusbarIsVisible</key>
- <true/>
+ <integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
- <string>AF6310860B8F664E000D1C1A</string>
+ <string>1C0AD2AB069F1E9B00FABCE6</string>
<string>1C162984064C10D400B95A72</string>
- <string>AF6310870B8F664E000D1C1A</string>
- <string>AF6310880B8F664E000D1C1A</string>
- <string>AF6310890B8F664E000D1C1A</string>
- <string>AF63108A0B8F664E000D1C1A</string>
- <string>AF63108B0B8F664E000D1C1A</string>
+ <string>1C0AD2AC069F1E9B00FABCE6</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>WindowString</key>
- <string>34 224 1403 928 0 0 1920 1178 </string>
+ <string>321 238 694 422 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
- <false/>
+ <integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
@@ -887,12 +818,8 @@
<string>MENUSEPARATOR</string>
</dict>
<dict>
- <key>FirstTimeWindowDisplayed</key>
- <false/>
<key>Identifier</key>
<string>windowTool.debuggerConsole</string>
- <key>IsVertical</key>
- <true/>
<key>Layout</key>
<array>
<dict>
@@ -900,7 +827,7 @@
<array>
<dict>
<key>BecomeActive</key>
- <true/>
+ <integer>1</integer>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -911,18 +838,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {1027, 604}}</string>
+ <string>{{0, 0}, {650, 250}}</string>
<key>RubberWindowFrame</key>
- <string>896 191 1027 645 0 0 1920 1178 </string>
+ <string>516 632 650 250 0 0 1680 1027 </string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
- <string>604pt</string>
+ <string>209pt</string>
</dict>
</array>
<key>Proportion</key>
- <string>604pt</string>
+ <string>209pt</string>
</dict>
</array>
<key>Name</key>
@@ -932,21 +859,21 @@
<string>PBXDebugCLIModule</string>
</array>
<key>StatusbarIsVisible</key>
- <true/>
+ <integer>1</integer>
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
- <string>AF63108C0B8F664E000D1C1A</string>
+ <string>1C78EAAE065D492600B07095</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.consoleV3</string>
<key>WindowString</key>
- <string>896 191 1027 645 0 0 1920 1178 </string>
+ <string>650 41 650 250 0 0 1280 1002 </string>
<key>WindowToolGUID</key>
<string>1C78EAAD065D492600B07095</string>
<key>WindowToolIsVisible</key>
- <false/>
+ <integer>0</integer>
</dict>
<dict>
<key>Identifier</key>
@@ -984,100 +911,6 @@
</dict>
<dict>
<key>Identifier</key>
- <string>windowTool.run</string>
- <key>Layout</key>
- <array>
- <dict>
- <key>Dock</key>
- <array>
- <dict>
- <key>ContentConfiguration</key>
- <dict>
- <key>LauncherConfigVersion</key>
- <string>3</string>
- <key>PBXProjectModuleGUID</key>
- <string>1CD0528B0623707200166675</string>
- <key>PBXProjectModuleLabel</key>
- <string>Run</string>
- <key>Runner</key>
- <dict>
- <key>HorizontalSplitView</key>
- <dict>
- <key>_collapsingFrameDimension</key>
- <real>0.0</real>
- <key>_indexOfCollapsedView</key>
- <integer>0</integer>
- <key>_percentageOfCollapsedView</key>
- <real>0.0</real>
- <key>isCollapsed</key>
- <string>yes</string>
- <key>sizes</key>
- <array>
- <string>{{0, 0}, {493, 167}}</string>
- <string>{{0, 176}, {493, 267}}</string>
- </array>
- </dict>
- <key>VerticalSplitView</key>
- <dict>
- <key>_collapsingFrameDimension</key>
- <real>0.0</real>
- <key>_indexOfCollapsedView</key>
- <integer>0</integer>
- <key>_percentageOfCollapsedView</key>
- <real>0.0</real>
- <key>isCollapsed</key>
- <string>yes</string>
- <key>sizes</key>
- <array>
- <string>{{0, 0}, {405, 443}}</string>
- <string>{{414, 0}, {514, 443}}</string>
- </array>
- </dict>
- </dict>
- </dict>
- <key>GeometryConfiguration</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 0}, {460, 159}}</string>
- <key>RubberWindowFrame</key>
- <string>316 696 459 200 0 0 1280 1002 </string>
- </dict>
- <key>Module</key>
- <string>PBXRunSessionModule</string>
- <key>Proportion</key>
- <string>159pt</string>
- </dict>
- </array>
- <key>Proportion</key>
- <string>159pt</string>
- </dict>
- </array>
- <key>Name</key>
- <string>Run Log</string>
- <key>ServiceClasses</key>
- <array>
- <string>PBXRunSessionModule</string>
- </array>
- <key>StatusbarIsVisible</key>
- <integer>1</integer>
- <key>TableOfContents</key>
- <array>
- <string>1C0AD2B3069F1EA900FABCE6</string>
- <string>1C0AD2B4069F1EA900FABCE6</string>
- <string>1CD0528B0623707200166675</string>
- <string>1C0AD2B5069F1EA900FABCE6</string>
- </array>
- <key>ToolbarConfiguration</key>
- <string>xcode.toolbar.config.run</string>
- <key>WindowString</key>
- <string>316 696 459 200 0 0 1280 1002 </string>
- <key>WindowToolGUID</key>
- <string>1C0AD2B3069F1EA900FABCE6</string>
- <key>WindowToolIsVisible</key>
- <integer>0</integer>
- </dict>
- <dict>
- <key>Identifier</key>
<string>windowTool.scm</string>
<key>Layout</key>
<array>
@@ -1367,6 +1200,38 @@
</dict>
<dict>
<key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
<string>windowTool.classBrowser</string>
<key>Layout</key>
<array>
Modified: PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.pbxuser
===================================================================
--- PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.pbxuser 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/cyrusdaboo.pbxuser 2007-10-11 20:11:58 UTC (rev 1953)
@@ -46,7 +46,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 1343,
+ 754,
20,
48,
43,
@@ -63,26 +63,19 @@
PBXFileDataSource_Target_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 193942189;
- PBXWorkspaceStateSaveDate = 193942189;
+ PBXPerProjectTemplateStateSaveDate = 213805048;
+ PBXWorkspaceStateSaveDate = 213805048;
};
- perUserProjectItems = {
- AF6311050B8F74FC000D1C1A /* PBXTextBookmark */ = AF6311050B8F74FC000D1C1A /* PBXTextBookmark */;
- AF6311070B8F74FC000D1C1A /* PBXTextBookmark */ = AF6311070B8F74FC000D1C1A /* PBXTextBookmark */;
- AF63112B0B8F85FF000D1C1A /* PBXTextBookmark */ = AF63112B0B8F85FF000D1C1A /* PBXTextBookmark */;
- AF63112C0B8F85FF000D1C1A /* PBXTextBookmark */ = AF63112C0B8F85FF000D1C1A /* PBXTextBookmark */;
- AF63112D0B8F85FF000D1C1A /* PBXTextBookmark */ = AF63112D0B8F85FF000D1C1A /* PBXTextBookmark */;
- AF63114C0B8F89FB000D1C1A /* PBXTextBookmark */ = AF63114C0B8F89FB000D1C1A /* PBXTextBookmark */;
- };
sourceControlManager = AF155A2D0A501F7B007E1E6E /* Source Control */;
userBuildSettings = {
};
};
08FB7796FE84155DC02AAC07 /* test.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {2462, 4060}}";
- sepNavSelRange = "{5173, 0}";
- sepNavVisRect = "{{0, 1450}, {1521, 670}}";
+ sepNavIntBoundsRect = "{{0, 0}, {926, 4270}}";
+ sepNavSelRange = "{1948, 96}";
+ sepNavVisRange = "{1144, 1674}";
+ sepNavVisRect = "{{0, 1574}, {1521, 647}}";
sepNavWindowFrame = "{{436, 4}, {811, 828}}";
};
};
@@ -102,11 +95,10 @@
delayBeforeContinue = 0;
fileReference = 08FB7796FE84155DC02AAC07 /* test.cpp */;
functionName = "main (int argc, const char * argv[])";
- hitCount = 1;
+ hitCount = 0;
ignoreCount = 0;
lineNumber = 84;
- location = test.ob;
- modificationTime = 193955662.576472;
+ modificationTime = 196354514.472522;
state = 1;
};
AF0015650B8A245A0045DAEE /* test.cpp:167 */ = {
@@ -123,12 +115,27 @@
ignoreCount = 0;
lineNumber = 167;
location = test.ob;
- modificationTime = 193955659.877094;
+ modificationTime = 196354382.775839;
state = 2;
};
+ AF02AC560CBE690500F478B8 /* CDirectoryServiceException.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1086, 831}}";
+ sepNavSelRange = "{1235, 12}";
+ sepNavVisRange = "{0, 1607}";
+ sepNavWindowFrame = "{{684, 53}, {1145, 959}}";
+ };
+ };
+ AF02AC570CBE690500F478B8 /* CDirectoryServiceException.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1086, 831}}";
+ sepNavSelRange = "{1019, 0}";
+ sepNavVisRange = "{0, 1300}";
+ sepNavWindowFrame = "{{73, 219}, {1145, 959}}";
+ };
+ };
AF155A290A501F5C007E1E6E /* PyOpenDirectory */ = {
isa = PBXExecutable;
- activeArgIndex = 2147483647;
activeArgIndices = (
);
argumentStrings = (
@@ -184,100 +191,63 @@
};
AF155A2F0A501F84007E1E6E /* CDirectoryService.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1076, 10794}}";
- sepNavSelRange = "{21927, 0}";
- sepNavVisRect = "{{0, 7571}, {1041, 366}}";
- sepNavWindowFrame = "{{117, 32}, {1368, 1146}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1221, 16198}}";
+ sepNavSelRange = "{1433, 0}";
+ sepNavVisRange = "{1187, 1367}";
+ sepNavVisRect = "{{0, 0}, {1309, 1017}}";
+ sepNavWindowFrame = "{{85, 73}, {1280, 828}}";
};
};
AF155A300A501F84007E1E6E /* CDirectoryService.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1521, 1036}}";
- sepNavSelRange = "{2851, 0}";
- sepNavVisRect = "{{0, 366}, {1521, 670}}";
- sepNavWindowFrame = "{{15, 4}, {811, 828}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1106, 1008}}";
+ sepNavSelRange = "{1618, 0}";
+ sepNavVisRange = "{714, 1839}";
+ sepNavVisRect = "{{0, 123}, {752, 676}}";
+ sepNavWindowFrame = "{{308, 256}, {811, 828}}";
};
};
AF155A310A501F84007E1E6E /* PythonWrapper.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {992, 6790}}";
- sepNavSelRange = "{17612, 0}";
- sepNavVisRect = "{{0, 6063}, {752, 699}}";
- sepNavWindowFrame = "{{113, 4}, {811, 828}}";
+ sepNavIntBoundsRect = "{{0, 0}, {992, 10668}}";
+ sepNavSelRange = "{23897, 0}";
+ sepNavVisRange = "{22724, 1929}";
+ sepNavVisRect = "{{0, 0}, {1521, 647}}";
+ sepNavWindowFrame = "{{89, 4}, {1043, 828}}";
};
};
AF155AFB0A502C09007E1E6E /* CFStringUtil.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {766, 699}}";
- sepNavSelRange = "{546, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {752, 700}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 1120}";
sepNavVisRect = "{{0, 0}, {766, 699}}";
- sepNavWindowFrame = "{{746, 81}, {811, 828}}";
+ sepNavWindowFrame = "{{746, 4}, {811, 828}}";
};
};
AF155AFC0A502C09007E1E6E /* CFStringUtil.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {752, 2100}}";
- sepNavSelRange = "{3114, 0}";
- sepNavVisRect = "{{0, 1419}, {752, 676}}";
+ sepNavIntBoundsRect = "{{0, 0}, {752, 2114}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 1510}";
+ sepNavVisRect = "{{0, 1572}, {1342, 371}}";
sepNavWindowFrame = "{{36, 4}, {811, 1024}}";
};
};
- AF6311050B8F74FC000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = AF155A310A501F84007E1E6E /* PythonWrapper.cpp */;
- name = "PythonWrapper.cpp: 355";
- rLen = 0;
- rLoc = 10892;
- rType = 0;
- vrLen = 1931;
- vrLoc = 8603;
+ AF41D9AB0CBDBAE200AB863D /* CDirectoryServiceManager.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1221, 700}}";
+ sepNavSelRange = "{1010, 0}";
+ sepNavVisRange = "{0, 1196}";
+ sepNavWindowFrame = "{{558, 246}, {1280, 828}}";
+ };
};
- AF6311070B8F74FC000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = AF155A310A501F84007E1E6E /* PythonWrapper.cpp */;
- name = "PythonWrapper.cpp: 355";
- rLen = 0;
- rLoc = 10892;
- rType = 0;
- vrLen = 1931;
- vrLoc = 8603;
+ AF41D9AC0CBDBAE200AB863D /* CDirectoryServiceManager.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1221, 700}}";
+ sepNavSelRange = "{775, 0}";
+ sepNavVisRange = "{0, 1033}";
+ sepNavWindowFrame = "{{677, 13}, {1280, 828}}";
+ };
};
- AF63112B0B8F85FF000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = AF155A300A501F84007E1E6E /* CDirectoryService.h */;
- name = "CDirectoryService.h: 70";
- rLen = 0;
- rLoc = 2863;
- rType = 0;
- vrLen = 2090;
- vrLoc = 866;
- };
- AF63112C0B8F85FF000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- comments = "error: no matching function for call to 'CDirectoryService::QueryRecordsWithAttributes(const __CFDictionary*&, const __CFDictionary*&, tDirPatternMatch, bool, bool, const char [28], const __CFArray*&)'";
- fRef = 08FB7796FE84155DC02AAC07 /* test.cpp */;
- rLen = 1;
- rLoc = 139;
- rType = 1;
- };
- AF63112D0B8F85FF000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = AF155A300A501F84007E1E6E /* CDirectoryService.h */;
- name = "CDirectoryService.h: 70";
- rLen = 0;
- rLoc = 2863;
- rType = 0;
- vrLen = 2090;
- vrLoc = 866;
- };
- AF63114C0B8F89FB000D1C1A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 08FB7796FE84155DC02AAC07 /* test.cpp */;
- name = "test.cpp: 140";
- rLen = 0;
- rLoc = 5173;
- rType = 0;
- vrLen = 2505;
- vrLoc = 4188;
- };
}
Modified: PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/project.pbxproj
===================================================================
--- PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/project.pbxproj 2007-10-10 18:56:25 UTC (rev 1952)
+++ PyOpenDirectory/trunk/support/PyOpenDirectory.xcodeproj/project.pbxproj 2007-10-11 20:11:58 UTC (rev 1953)
@@ -10,12 +10,14 @@
8DD76F650486A84900D96B5E /* test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* test.cpp */; settings = {ATTRIBUTES = (); }; };
AF00155A0B8A21340045DAEE /* Python.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0015590B8A21340045DAEE /* Python.framework */; };
AF00155E0B8A21FD0045DAEE /* PythonWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF155A310A501F84007E1E6E /* PythonWrapper.cpp */; };
+ AF02AC580CBE690500F478B8 /* CDirectoryServiceException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF02AC560CBE690500F478B8 /* CDirectoryServiceException.cpp */; };
AF155A320A501F84007E1E6E /* CDirectoryService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF155A2F0A501F84007E1E6E /* CDirectoryService.cpp */; };
AF155A330A501F84007E1E6E /* CDirectoryService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = AF155A300A501F84007E1E6E /* CDirectoryService.h */; };
AF155A370A501F9D007E1E6E /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF155A350A501F9D007E1E6E /* CoreFoundation.framework */; };
AF155A380A501F9D007E1E6E /* DirectoryService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF155A360A501F9D007E1E6E /* DirectoryService.framework */; };
AF155AFD0A502C09007E1E6E /* CFStringUtil.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = AF155AFB0A502C09007E1E6E /* CFStringUtil.h */; };
AF155AFE0A502C09007E1E6E /* CFStringUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF155AFC0A502C09007E1E6E /* CFStringUtil.cpp */; };
+ AF41D9AD0CBDBAE200AB863D /* CDirectoryServiceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF41D9AB0CBDBAE200AB863D /* CDirectoryServiceManager.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -36,6 +38,8 @@
08FB7796FE84155DC02AAC07 /* test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test.cpp; sourceTree = "<group>"; };
8DD76F6C0486A84900D96B5E /* PyOpenDirectory */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = PyOpenDirectory; sourceTree = BUILT_PRODUCTS_DIR; };
AF0015590B8A21340045DAEE /* Python.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Python.framework; path = /System/Library/Frameworks/Python.framework; sourceTree = "<absolute>"; };
+ AF02AC560CBE690500F478B8 /* CDirectoryServiceException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CDirectoryServiceException.cpp; path = ../src/CDirectoryServiceException.cpp; sourceTree = SOURCE_ROOT; };
+ AF02AC570CBE690500F478B8 /* CDirectoryServiceException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDirectoryServiceException.h; path = ../src/CDirectoryServiceException.h; sourceTree = SOURCE_ROOT; };
AF155A2F0A501F84007E1E6E /* CDirectoryService.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CDirectoryService.cpp; path = ../src/CDirectoryService.cpp; sourceTree = SOURCE_ROOT; };
AF155A300A501F84007E1E6E /* CDirectoryService.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CDirectoryService.h; path = ../src/CDirectoryService.h; sourceTree = SOURCE_ROOT; };
AF155A310A501F84007E1E6E /* PythonWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PythonWrapper.cpp; path = ../src/PythonWrapper.cpp; sourceTree = SOURCE_ROOT; };
@@ -43,6 +47,8 @@
AF155A360A501F9D007E1E6E /* DirectoryService.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DirectoryService.framework; path = /System/Library/Frameworks/DirectoryService.framework; sourceTree = "<absolute>"; };
AF155AFB0A502C09007E1E6E /* CFStringUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFStringUtil.h; path = ../src/CFStringUtil.h; sourceTree = SOURCE_ROOT; };
AF155AFC0A502C09007E1E6E /* CFStringUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFStringUtil.cpp; path = ../src/CFStringUtil.cpp; sourceTree = SOURCE_ROOT; };
+ AF41D9AB0CBDBAE200AB863D /* CDirectoryServiceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CDirectoryServiceManager.cpp; path = ../src/CDirectoryServiceManager.cpp; sourceTree = SOURCE_ROOT; };
+ AF41D9AC0CBDBAE200AB863D /* CDirectoryServiceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDirectoryServiceManager.h; path = ../src/CDirectoryServiceManager.h; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -72,6 +78,10 @@
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
+ AF02AC560CBE690500F478B8 /* CDirectoryServiceException.cpp */,
+ AF02AC570CBE690500F478B8 /* CDirectoryServiceException.h */,
+ AF41D9AB0CBDBAE200AB863D /* CDirectoryServiceManager.cpp */,
+ AF41D9AC0CBDBAE200AB863D /* CDirectoryServiceManager.h */,
AF155A2F0A501F84007E1E6E /* CDirectoryService.cpp */,
AF155A300A501F84007E1E6E /* CDirectoryService.h */,
AF155A310A501F84007E1E6E /* PythonWrapper.cpp */,
@@ -132,7 +142,6 @@
mainGroup = 08FB7794FE84155DC02AAC07 /* PyOpenDirectory */;
projectDirPath = "";
projectRoot = "";
- shouldCheckCompatibility = 1;
targets = (
8DD76F620486A84900D96B5E /* PyOpenDirectory */,
);
@@ -148,6 +157,8 @@
AF155A320A501F84007E1E6E /* CDirectoryService.cpp in Sources */,
AF155AFE0A502C09007E1E6E /* CFStringUtil.cpp in Sources */,
AF00155E0B8A21FD0045DAEE /* PythonWrapper.cpp in Sources */,
+ AF41D9AD0CBDBAE200AB863D /* CDirectoryServiceManager.cpp in Sources */,
+ AF02AC580CBE690500F478B8 /* CDirectoryServiceException.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -187,7 +198,7 @@
buildSettings = {
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = "";
+ HEADER_SEARCH_PATHS = /System/Library/Frameworks/Python.framework/Headers;
PREBINDING = NO;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
USER_HEADER_SEARCH_PATHS = ../src;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20071011/548ff285/attachment-0001.html
More information about the calendarserver-changes
mailing list