+++ /dev/null
-//
-// AssemblyInfo.cs
-//
-// Author:
-// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2003 Ximian, Inc. http://www.ximian.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Security;
-using System.Security.Permissions;
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows.Markup;
-
-// General Information about the WindowsBase assembly
-// v3.0 Assembly
-
-[assembly: AssemblyCompany (Consts.MonoCompany)]
-[assembly: AssemblyProduct (Consts.MonoProduct)]
-[assembly: AssemblyCopyright (Consts.MonoCopyright)]
-[assembly: AssemblyVersion (Consts.FxVersion)]
-[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
-
-[assembly: NeutralResourcesLanguage ("en")]
-[assembly: CLSCompliant (true)]
-[assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../winfx.pub")]
-
-[assembly: ComVisible (false)]
-[assembly: AllowPartiallyTrustedCallers]
-
-[assembly: CompilationRelaxations (CompilationRelaxations.NoStringInterning)]
-[assembly: Debuggable (DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints |
- DebuggableAttribute.DebuggingModes.Default)]
-[assembly: RuntimeCompatibility (WrapNonExceptionThrows = true)]
-[assembly: Dependency ("System,", LoadHint.Always)]
-[assembly: SecurityCritical]
-[assembly: PermissionSet (SecurityAction.RequestMinimum, Name = "FullTrust")]
-[assembly: SecurityPermission (SecurityAction.RequestMinimum, SkipVerification = true)]
-
-[assembly: XmlnsPrefixAttribute ("http://schemas.microsoft.com/xps/2005/06", "metro")]
-[assembly: XmlnsPrefixAttribute ("http://schemas.microsoft.com/netfx/2007/xaml/presentation", "wpf")]
-[assembly: XmlnsPrefixAttribute ("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "av")]
-
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/xps/2005/06", "System.Windows.Media")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/xps/2005/06", "System.Windows.Input")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/xps/2005/06", "System.Windows")]
-
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Media")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows.Input")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "System.Windows")]
-
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/winfx/2006/xaml/composite-font", "System.Windows.Media")]
-
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/netfx/2007/xaml/presentation", "System.Windows.Media")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/netfx/2007/xaml/presentation", "System.Windows.Input")]
-[assembly: XmlnsDefinitionAttribute ("http://schemas.microsoft.com/netfx/2007/xaml/presentation", "System.Windows")]
+++ /dev/null
-2008-11-06 Alan McGovern <alan.mcgovern@gmail.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackagePropertiesPart.cs: Remove horrible hacks to
- load PackageProperties, PackageRelationships and PackageParts from a
- read-only stream. Other benefit is that these are now lazily loaded.
-
-2008-11-06 Sandy Armstrong <sanfordarmstrong@gmail.com>
-
- * Assembly/AssemblyInfo.cs: AssemblyFileVersion now uses
- Consts.FxFileVersion, which is "3.0.4506.648".
-
- * Makefile: Define NET_3_0 so that Consts will have the correct values
- for this assembly.
-
-2008-11-06 Alan McGovern <amcgovern@novell.com>
-
-
-
-
-
-2008-11-06 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.Windows/RectTest.cs:
- * Test/System.Windows/SizeTest.cs:
- * Test/System.Windows/VectorTest.cs:
- * Test/System.Windows/Int32RectTest.cs:
- * Test/System.Windows.Media/MatrixTest.cs:
- * Test/System.Windows/SizeConverterTest.cs:
- * Test/System.Windows/RectConverterTest.cs:
- * Test/System.Windows/PointConverterTest.cs:
- * Test/System.Windows/VectorConverterTest.cs:
- * Test/System.Windows/DependencyObjectTest.cs:
- * Test/System.Windows/Int32RectConverterTest.cs:
- * Test/System.Windows.Markup/DateTimeValueSerializerTest.cs: Only
- disable the tests which do not work.
-
-2008-11-06 Alan McGovern <amcgovern@novell.com>
-
-
-
-
-
-2008-11-06 Felix Eisele <felix_eisele@gmx.de>
- * Test/System.Windows/PointTest.cs:
- All Tests pass now
- * System.Windows/Point.cs
- Complete the implementation of the class
-
-
-2008-11-05 Brian O'Keefe <zer0keefie@gmail.com>
-
- * System.Collections.ObjectModel/ObservableCollection.cs:
- * System.Collections.ObjectModel/ReadOnlyObservableCollection.cs:
- * System.Collections.ObjectModel/INotifyCollectionChanged.cs:
- * System.Collections.ObjectModel/INotifyCollectionChanged.cs:
- * System.Collections.ObjectModel/NotifyCollectionChangedAction.cs:
- * System.Collections.ObjectModel/NotifyCollectionChangedEventArgs.cs:
- * System.Collections.ObjectModel/NotifyCollectionChangedEventHandler.cs:
- Add implementations for ObservableCollection and expand documentation
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * System.IO.Packaging/PackagePropertiesPart.cs: Properties which are
- null should not be serialized.
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * WindowsBase.dll.sources:
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackUriHelper.cs:
- * Test/System.IO.Packaging/FakePackage.cs:
- * System.IO.Packaging/PackageProperties.cs:
- * System.IO.Packaging/PackagePropertiesPart.cs: Complete the
- implementation of loading/saving PackageProperties. NUnit tests now
- pass.
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/PackagePropertiesPart.cs: No need to override
- here.
-
- * System.IO.Packaging/PackageProperties.cs: Add myself to authors
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * WindowsBase.sln:
- * WindowsBase.csproj: Add solution files to allow working inside MD.
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/PackageProperties.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * System.IO.Packaging/PackagePropertiesPart.cs:
- * Test/System.IO.Packaging/FakePackageTests.cs: Implement the backend
- for loading/saving package properties. Add tests for this code.
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * ZipSharp/NativeUnzip.cs: Comment out unused method
-
-2008-11-04 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs: Cosmetic - Make methods alphabetical
- and group methods/properties together.
-
-2008-11-03 Alan McGovern <alan.mcgovern@gmail.com>
-
- * System.Windows/WeakEventManager.cs:
- * System.IO.Packaging/ZipPackagePart.cs: Fix the two remaining API
- points which shouldn't be exposed.
-
-2008-11-03 Alan McGovern <alan.mcgovern@gmail.com>
-
- * System.IO.Packaging/Package.cs: Temporary fix test failure until a
- proper solution can be worked out.
-
-2008-11-03 Alan McGovern <alan.mcgovern@gmail.com>
-
- * Test/System.IO.Packaging/PackageTest.cs: Enable test now that it works
-
-2008-11-03 Alan McGovern <alan.mcgovern@gmail.com>
-
- * System.IO.Packaging/Package.cs: Fix build and also test that the
- archive is valid when loading an existing archive.
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Check.cs:
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/ZipPartStream.cs:
- * Test/System.IO.Packaging/PackageTest.cs: Add tests to ensure that if a
- package is readonly it won't be written to
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
- * ZipSharp/NativeZip.cs:
- * ZipSharp/ZipArchive.cs:
- * ZipSharp/NativeUnzip.cs:
- * ZipSharp/IOFunctions.cs:
- * ZipSharp/UnzipArchive.cs:
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/PackagePartCollection.cs: Ensure we don't expose
- more API than we should.
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/PackUriHelper.cs: Generate the new Uri properly
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
- * ZipSharp/NativeUnzip.cs:
- * ZipSharp/UnzipArchive.cs:
- * System.IO.Packaging/Check.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/PackUriHelper.cs:
- * Test/System.IO.Packaging/PackageTest.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * Test/System.IO.Packaging/FakePackagePartTests.cs:
- * Test/System.IO.Packaging/PackageRelationshipTests.cs: Filenames should
- be case insensitive. Fixed issues generating the correct relationship
- uri for package parts.
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/ZipPackagePart.cs: Files are stored in the zip
- archive with the leading '/' stripped. When loading relationships
- from the archive, i shouldn't try updating the archive.
-
-2008-11-03 Alan McGovern <amcgovern@novell.com>
-
-
-
-
-
-2008-10-30 Alan McGovern <amcgovern@novell.com>
-
- * WindowsBase_test.dll.sources:
- * System.IO.Packaging/PackUriHelper.cs:
- * Test/System.IO.Packaging/PackUriHelperTests.cs: Commit partial
- implementation of PackUriHelper along with associated NUnit tests.
-
-2008-10-28 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/PackagePart.cs: Cosmetic changes
-
- * System.IO.Packaging/Package.cs: Do not remove the relationship part
- from the package if it exists, just mark it disposed. All NUnit tests
- pass now.
-
-2008-10-28 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackagePart.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * System.IO.Packaging/PackagePartCollection.cs:
- * Test/System.IO.Packaging/FakePackageTests.cs:
- * System.IO.Packaging/PackageRelationshipCollection.cs: Implemented
- loading/saving of relationships from PackageParts. Removed excess
- debug spew.
-
-2008-10-29 Alan McGovern <amcgovern@novell.com>
-
- * ZipSharp/NativeZip.cs: Remove a Console.WriteLine
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/ZipPartStream.cs:
- * System.IO.Packaging/ZipPackagePart.cs:
- * Test/System.IO.Packaging/PackageTest.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * Test/System.IO.Packaging/FakePackagePartTests.cs:
- * Test/System.IO.Packaging/PackagePartStreamTests.cs:
- * Test/System.IO.Packaging/PackageRelationshipTests.cs: Implement
- parsing of PackageParts and PackageRelationships when loading
- existing packages and write that data when creating a package.
-
-2008-10-29 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs: Write relationships to the zipfile
-
-2008-10-28 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackagePartStreamTests.cs: Disable these
- tests until I can figure out if they're stupid or not.
-
-2008-10-28 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/ZipPartStream.cs:
- * System.IO.Packaging/ZipPackagePart.cs:
- * Test/System.IO.Packaging/PackagePartStreamTests.cs: Implement the
- PartStream logic.
-
- * Makefile: Need unsafe code to build the zip wrapper. Review this later
- maybe.
-
- * ZipSharp:
- * ZipSharp/ZipTime.cs:
- * ZipSharp/ZipHandle.cs:
- * ZipSharp/ZipStream.cs:
- * ZipSharp/NativeZip.cs:
- * ZipSharp/ZipArchive.cs:
- * ZipSharp/UnzipHandle.cs:
- * ZipSharp/IOFunctions.cs:
- * ZipSharp/NativeUnzip.cs:
- * WindowsBase.dll.sources:
- * ZipSharp/ZipFileInfo.cs:
- * ZipSharp/UnzipArchive.cs:
- * ZipSharp/UnzipFileInfo.cs:
- * ZipSharp/ZipWriteStream.cs:
- * ZipSharp/UnzipReadStream.cs: Add the minizip binding to SVN.
-
-2008-10-27 Mario Carrion <mcarrion@novell.com>
-
- * System.Windows/Rect.cs: Operator != and == implementation.
- * Test/System.Windows/RectTest.cs: New test: Equals_Operator.
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackagePartStreamTests.cs: Uncomment the test
- as compiling with mono-head fixes the issue.
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackageTests.cs: Add missing license
- header
-
- * WindowsBase_test.dll.sources:
- * Test/System.IO.Packaging/PackagePartStreamTests.cs: Added new tests
- for the PackagePart stream code
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackageTests.cs: Make the test cover all
- Relationship based methods
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackageTests.cs: Enable the
- FakePackageTests
-
- * System.IO.Packaging/Package.cs: Automatically add the relationship
- PackagePart as per unit test.
-
- * System.IO.Packaging/PackagePart.cs: A part which is a relationship
- should throw when trying to access it's relationships.
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * WindowsBase_test.dll.sources:
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/PackagePart.cs:
- * Test/System.IO.Packaging/PackageTest.cs:
- * Test/System.IO.Packaging/FakePackagePart.cs:
- * Test/System.IO.Packaging/FakePackagePartTests.cs: Add more tests to
- check the behaviour of PackagePart.GetStream () and also
- PacakageParts which are automatically added.
-
-2008-10-17 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackageTests.cs: Added test to see what
- parts are automatically added/removed
-
- * Test/System.IO.Packaging/TestBase.cs:
- * Test/System.IO.Packaging/FakeStream.cs:
- * Test/System.IO.Packaging/PackageTest.cs:
- * Test/System.IO.Packaging/FakePackagePart.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * Test/System.IO.Packaging/FakePackagePartTests.cs:
- * Test/System.IO.Packaging/PackageRelationshipTests.cs: fixing
- whitespace
-
- * Test/System.IO.Packaging/FakePackage.cs: Monitor what parts are
- added/removed from the package.
-
-2008-10-16 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/PackageRelationship.cs: Use automatic properties
-
-2008-10-16 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackage.cs: Updated the implementation so
- it can be used in the NUnit tests
-
- * System.IO.Packaging/Package.cs: Implemented GetParts and fixed a bug
- with the constructor
-
- * Test/System.IO.Packaging/PackageTest.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs: Enabled tests which now
- pass
-
- * System.IO.Packaging/PackagePartCollection.cs: Implement
- PackagePartCollection so that it passes the NUnit tests.
-
- * Makefile: Need reference to System.Xml
-
- * System.IO.Packaging/PackagePart.cs: If there's a dupe relationship ID,
- throw an XmlException
-
- * System.IO.Packaging/ZipPackage.cs: Implemented Dispose/Close and
- partial support for PartStreams
-
- * Test/System.IO.Packaging/FakePackagePartTests.cs: Added new test for
- Package.GetParts to verify behaviours. Enabled tests which now pass
-
-2008-10-16 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackageRelationshipTests.cs: Enable the
- PackageRelationship tests
-
- * System.IO.Packaging/Check.cs:
- * System.IO.Packaging/Package.cs: Add additional checks for uris
-
-2008-10-16 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Check.cs:
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs:
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/ZipPackagePart.cs:
- * Test/System.IO.Packaging/PackagePartTest.cs:
- * System.IO.Packaging/PackagePartCollection.cs: Began the implementation
- of both PackageRelationship and ZipPackagePart. Enabled tests for
- these classes.
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/FakePackagePartTests.cs: Add NotWorking
- attribute to test.
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/PackagePart.cs:
- * System.IO.Packaging/PackageRelationship.cs:
- * System.IO.Packaging/PackageRelationshipCollection.cs: Began
- implementing the PackageRelationship code
-
- * System.IO.Packaging/Check.cs: Added check for SourceUri
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Check.cs: Created class for doing argument checks
-
- * System.IO.Packaging/Package.cs:
- * System.IO.Packaging/ZipPackage.cs: Implemented enough of
- Package/ZipPackage to allow the NUnit tests to function
-
- * WindowsBase.dll.sources:
- * WindowsBase_test.dll.sources:
- * System.IO.Packaging/PackagePart.cs:
- * Test/System.IO.Packaging/FakePackagePart.cs:
- * Test/System.IO.Packaging/FakePackagePartTests.cs: Began implementing
- the PackagePart class
-
- * Test/System.IO.Packaging/TestBase.cs:
- * Test/System.IO.Packaging/PackageTest.cs: Added temporary workarounds
- for unimplemented methods in Package
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs: Use the FileInfo object rather than
- calling File.Exists. Comply with coding guidelines better.
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackageTest.cs: Cosmetic fixes and added
- three new tests
-
- * System.IO.Packaging/Package.cs: If the file already exists, throw an
- exception if it's length is zero.
-
-2008-10-15 Alan McGovern <amcgovern@novell.com>
-
- * System.IO.Packaging/Package.cs:
- * System.IO/FileFormatException.cs:
- * Test/System.IO.Packaging/PackageTest.cs: Added more NUnit tests and
- implemented the necessary argument checking to pass these tests.
-
-2008-10-14 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging/PackageTest.cs,
- Test/System.IO.Packaging/PackageRelationshipTests.cs,
- Test/System.IO.Packaging/PackagePartTest.cs,
- Test/System.IO.Packaging/FakePackage.cs,
- Test/System.IO.Packaging/FakeStream.cs,
- Test/System.IO.Packaging/TestBase.cs: Cosmetic changes to follow
- coding guidelines
-
-2008-10-14 Alan McGovern <amcgovern@novell.com>
-
- * Test/System.IO.Packaging
- * Test/System.IO.Packaging/PackageTest.cs
- * Test/System.IO.Packaging/PackageRelationshipTests.cs
- * Test/System.IO.Packaging/PackagePartTest.cs
- * Test/System.IO.Packaging/FakePackage.cs
- * Test/System.IO.Packaging/FakeStream.cs
- * Test/System.IO.Packaging/TestBase.cs
- * WindowsBase_test.dll.sources: Implemented some NUnit tests for
- the System.IO.Packaging API.
-
-2007-11-18 Chris Toshok <toshok@ximian.com>
-
- * System.Windows/DependencyObjectType.cs: implement such that it
- passes all unit tests.
-
-2007-01-25 Miguel de Icaza <miguel@novell.com>
-
- * Assembly/AssemblyInfo.cs: Use the right key to sign things so we
- can test on Windows the resulting nunit tests.
-
-2005-07-24 Iain McCoy <iain@mccoy.id.au>
-
- * Test/AttachedProperties.cs: made LocalValueEnumerator test not
- depend on unstable implementation details
-
-2005-07-19 Iain McCoy <iain@mccoy.id.au>
-
- * System.Windows/DependencyObject.cs,
- System.Windows/LocalValueEnumerator.cs: implemented
- GetLocalValueEnumerator() and the LocalValueEnumerator class to
- support it.
- * Test/DependencyObject.cs: added test for LocalValueEnumerator
-
-
-2005-07-06 Iain McCoy <iain@mccoy.id.au>
-
- * System.Windows/DependencyObject.cs,
- System.Windows/DependencyProperty.cs,
- System.Windows/PropertyMetadata.cs,
- System.Windows/Callbacks.cs: Added constructors to PropertyMetadata,
- added support for default values of properties
-
-2005-07-02 Iain McCoy <iain@mccoy.id.au>
-
- * whole folder: initial implementation of the DependencyProperty
- system
+++ /dev/null
-thisdir = class/WindowsBase
-include ../../build/rules.make
-
-LIBRARY = WindowsBase.dll
-
-LIB_MCS_FLAGS = -unsafe -r:System -r:System.Xml
-TEST_MCS_FLAGS = -unsafe -r:WindowsBase.dll
-
-ifeq (2.0, $(FRAMEWORK_VERSION))
-LIB_MCS_FLAGS += -d:NET_3_0
-endif
-
-include ../../build/library.make
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.ComponentModel;
-
-namespace System.Collections.ObjectModel {
- [Serializable]
- public class ObservableCollection<T> : Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
-
- private class Reentrant : IDisposable {
- private int count = 0;
-
- public Reentrant()
- {
- }
-
- public void Enter()
- {
- count++;
- }
-
- public void Dispose()
- {
- count--;
- }
-
- public bool Busy
- {
- get { return count > 0; }
- }
- }
-
- private Reentrant reentrant = new Reentrant ();
-
- public ObservableCollection()
- {
- }
-
- public ObservableCollection(List<T> list)
- : base (list)
- {
- }
-
- public virtual event NotifyCollectionChangedEventHandler CollectionChanged;
- protected virtual event PropertyChangedEventHandler PropertyChanged;
-
- event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
- add { this.PropertyChanged += value; }
- remove { this.PropertyChanged -= value; }
- }
-
- protected IDisposable BlockReentrancy ()
- {
- reentrant.Enter ();
- return reentrant;
- }
-
- protected void CheckReentrancy ()
- {
- NotifyCollectionChangedEventHandler eh = CollectionChanged;
-
- // Only have a problem if we have more than one event listener.
- if (reentrant.Busy && eh != null && eh.GetInvocationList ().Length > 1)
- throw new InvalidOperationException ("Cannot modify the collection while reentrancy is blocked.");
- }
-
- protected override void ClearItems ()
- {
- CheckReentrancy ();
-
- base.ClearItems ();
-
- OnCollectionChanged (new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset));
- OnPropertyChanged (new PropertyChangedEventArgs ("Count"));
- OnPropertyChanged (new PropertyChangedEventArgs ("Item[]"));
- }
-
- protected override void InsertItem (int index, T item)
- {
- CheckReentrancy ();
-
- base.InsertItem (index, item);
-
- OnCollectionChanged (new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, item, index));
- OnPropertyChanged (new PropertyChangedEventArgs ("Count"));
- OnPropertyChanged (new PropertyChangedEventArgs ("Item[]"));
- }
-
- public void Move (int oldIndex, int newIndex)
- {
- MoveItem (oldIndex, newIndex);
- }
-
- protected virtual void MoveItem (int oldIndex, int newIndex)
- {
- CheckReentrancy ();
-
- T item = Items [oldIndex];
- base.RemoveItem (oldIndex);
- base.InsertItem (newIndex, item);
-
- OnCollectionChanged (new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, item, newIndex, oldIndex));
- OnPropertyChanged (new PropertyChangedEventArgs ("Item[]"));
- }
-
- protected virtual void OnCollectionChanged (NotifyCollectionChangedEventArgs e)
- {
- NotifyCollectionChangedEventHandler eh = CollectionChanged;
-
- if (eh != null) {
- // Make sure that the invocation is done before the collection changes,
- // Otherwise there's a chance of data corruption.
- using (BlockReentrancy ()) {
- eh (this, e);
- }
- }
- }
-
- protected virtual void OnPropertyChanged (PropertyChangedEventArgs e)
- {
- PropertyChangedEventHandler eh = PropertyChanged;
-
- if (eh != null)
- eh (this, e);
- }
-
- protected override void RemoveItem (int index)
- {
- CheckReentrancy ();
-
- T item = Items [index];
-
- base.RemoveItem (index);
-
- OnCollectionChanged (new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, item, index));
- OnPropertyChanged (new PropertyChangedEventArgs ("Count"));
- OnPropertyChanged (new PropertyChangedEventArgs ("Item[]"));
- }
-
- protected override void SetItem (int index, T item)
- {
- CheckReentrancy ();
-
- T oldItem = Items [index];
-
- base.SetItem (index, item);
-
- OnCollectionChanged (new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, item, oldItem, index));
- OnPropertyChanged (new PropertyChangedEventArgs ("Item[]"));
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System.Collections.Specialized;
-using System.ComponentModel;
-
-namespace System.Collections.ObjectModel {
- public class ReadOnlyObservableCollection<T> : ReadOnlyCollection<T>, INotifyCollectionChanged, INotifyPropertyChanged {
-
- public ReadOnlyObservableCollection(ObservableCollection<T> list)
- : base (list)
- {
- ((INotifyPropertyChanged)list).PropertyChanged += SourceCollection_PropertyChanged;
- ((INotifyCollectionChanged)list).CollectionChanged += SourceCollection_CollectionChanged;
- }
-
- protected virtual event NotifyCollectionChangedEventHandler CollectionChanged;
-
- protected virtual event PropertyChangedEventHandler PropertyChanged;
-
- event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged {
- add { this.CollectionChanged += value; }
- remove { this.CollectionChanged -= value; }
- }
-
- event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
- add { this.PropertyChanged += value; }
- remove { this.PropertyChanged -= value; }
- }
-
- protected virtual void OnCollectionChanged (NotifyCollectionChangedEventArgs args)
- {
- NotifyCollectionChangedEventHandler eh = CollectionChanged;
-
- if (eh != null)
- eh (this, args);
- }
-
- protected virtual void OnPropertyChanged (PropertyChangedEventArgs args)
- {
- PropertyChangedEventHandler eh = PropertyChanged;
-
- if (eh != null)
- eh (this, args);
- }
-
- private void SourceCollection_CollectionChanged (object sender, NotifyCollectionChangedEventArgs e)
- {
- OnCollectionChanged (e);
- }
-
- private void SourceCollection_PropertyChanged (object sender, PropertyChangedEventArgs e)
- {
- OnPropertyChanged (e);
- }
- }
-
-}
+++ /dev/null
-2008-11-04 Chris Toshok <toshok@ximian.com>
-
- * CollectionChangedEventManager.cs: implement this using the msdn
- docs. Unfortunately we lack the ability to write unit tests at
- the moment, as there's no (that I can find) public use of this
- type in the api. Certainly not in WindowsBase.
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.Collections.Specialized {
-
- public class CollectionChangedEventManager : WeakEventManager
- {
- internal CollectionChangedEventManager ()
- {
- }
-
- public static void AddListener (INotifyCollectionChanged source, IWeakEventListener listener)
- {
- CurrentManager.ProtectedAddListener (source, listener);
- }
-
- public static void RemoveListener (INotifyCollectionChanged source, IWeakEventListener listener)
- {
- CurrentManager.ProtectedAddListener (source, listener);
- }
-
- protected override void StartListening (object source)
- {
- INotifyCollectionChanged inotify = (INotifyCollectionChanged) source;
- inotify.CollectionChanged += OnCollectionChanged;
- }
-
- protected override void StopListening (object source)
- {
- INotifyCollectionChanged inotify = (INotifyCollectionChanged) source;
- inotify.CollectionChanged -= OnCollectionChanged;
- }
-
- private void OnCollectionChanged (object sender, NotifyCollectionChangedEventArgs e)
- {
- DeliverEvent (sender, e);
- }
-
- private static object CurrentManagerLock = new object ();
-
- private static CollectionChangedEventManager CurrentManager {
- get {
- lock (CurrentManagerLock) {
- CollectionChangedEventManager manager = (CollectionChangedEventManager)GetCurrentManager (typeof (CollectionChangedEventManager));
- if (manager == null) {
- manager = new CollectionChangedEventManager ();
- SetCurrentManager (typeof (CollectionChangedEventManager), manager);
- }
- return manager;
- }
- }
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.Collections.Specialized {
-
- public interface INotifyCollectionChanged {
-
- event NotifyCollectionChangedEventHandler CollectionChanged;
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Collections.Specialized {
-
- public enum NotifyCollectionChangedAction {
- Add,
- Remove,
- Replace,
- Move,
- Reset
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-namespace System.Collections.Specialized {
- public class NotifyCollectionChangedEventArgs : EventArgs {
- private NotifyCollectionChangedAction action;
- private IList oldItems, newItems;
- private int oldIndex = -1, newIndex = -1;
-
- #region Constructors
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action)
- {
- this.action = action;
-
- if (action != NotifyCollectionChangedAction.Reset)
- throw new ArgumentException ("This constructor can only be used with the Reset action.", "action");
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, IList changedItems)
- : this (action, changedItems, -1)
- {
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, object changedItem)
- : this (action, changedItem, -1)
- {
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, IList newItems, IList oldItems)
- : this (action, newItems, oldItems, -1)
- {
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, IList changedItems, int startingIndex)
- {
- this.action = action;
-
- if (action == NotifyCollectionChangedAction.Add || action == NotifyCollectionChangedAction.Remove) {
- if (changedItems == null)
- throw new ArgumentNullException ("changedItems");
-
- if (startingIndex < -1)
- throw new ArgumentException ("The value of startingIndex must be -1 or greater.", "startingIndex");
-
- if (action == NotifyCollectionChangedAction.Add)
- InitializeAdd (changedItems, startingIndex);
- else
- InitializeRemove (changedItems, startingIndex);
- } else if (action == NotifyCollectionChangedAction.Reset) {
- if (changedItems != null)
- throw new ArgumentException ("This constructor can only be used with the Reset action if changedItems is null", "changedItems");
-
- if (startingIndex != -1)
- throw new ArgumentException ("This constructor can only be used with the Reset action if startingIndex is -1", "startingIndex");
- } else {
- throw new ArgumentException ("This constructor can only be used with the Reset, Add, or Remove actions.", "action");
- }
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, object changedItem, int index)
- {
- IList changedItems = new object [] { changedItem };
- this.action = action;
-
- if (action == NotifyCollectionChangedAction.Add)
- InitializeAdd (changedItems, index);
- else if (action == NotifyCollectionChangedAction.Remove)
- InitializeRemove (changedItems, index);
- else if (action == NotifyCollectionChangedAction.Reset) {
- if (changedItem != null)
- throw new ArgumentException ("This constructor can only be used with the Reset action if changedItem is null", "changedItem");
-
- if (index != -1)
- throw new ArgumentException ("This constructor can only be used with the Reset action if index is -1", "index");
- } else {
- throw new ArgumentException ("This constructor can only be used with the Reset, Add, or Remove actions.", "action");
- }
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, object newItem, object oldItem)
- : this (action, newItem, oldItem, -1)
- {
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, IList newItems, IList oldItems, int index)
- {
- this.action = action;
-
- if (action != NotifyCollectionChangedAction.Replace)
- throw new ArgumentException ("This constructor can only be used with the Replace action.", "action");
-
- if (newItems == null)
- throw new ArgumentNullException ("newItems");
-
- if (oldItems == null)
- throw new ArgumentNullException ("oldItems");
-
- this.oldItems = oldItems;
- this.newItems = newItems;
-
- oldIndex = index;
- newIndex = index;
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, IList changedItems, int index, int oldIndex)
- {
- this.action = action;
-
- if (action != NotifyCollectionChangedAction.Move)
- throw new ArgumentException ("This constructor can only be used with the Move action.", "action");
-
- if (index < -1)
- throw new ArgumentException ("The value of index must be -1 or greater.", "index");
-
- InitializeMove (changedItems, index, oldIndex);
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, object changedItem, int index, int oldIndex)
- : this (action, new object [] { changedItem }, index, oldIndex)
- {
- }
-
- public NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction action, object newItem, object oldItem, int index)
- {
- this.action = action;
-
- if (action != NotifyCollectionChangedAction.Replace)
- throw new ArgumentException ("This constructor can only be used with the Replace action.", "action");
-
- InitializeReplace (new object [] { newItem }, new object [] { oldItem }, index);
- }
-
- #endregion
-
- #region Accessor Properties
-
- public NotifyCollectionChangedAction Action {
- get { return action; }
- }
-
- public IList NewItems {
- get { return newItems; }
- }
-
- public int NewStartingIndex {
- get { return newIndex; }
- }
-
- public IList OldItems {
- get { return oldItems; }
- }
-
- public int OldStartingIndex {
- get { return oldIndex; }
- }
-
- #endregion
-
- #region Initialize Methods
-
- private void InitializeAdd(IList items, int index)
- {
- this.newItems = ArrayList.ReadOnly (items);
- this.newIndex = index;
- }
-
- private void InitializeRemove(IList items, int index)
- {
- this.oldItems = ArrayList.ReadOnly (items);
- this.oldIndex = index;
- }
-
- private void InitializeMove(IList changedItems, int newItemIndex, int oldItemIndex)
- {
- InitializeAdd (changedItems, newItemIndex);
- InitializeRemove (changedItems, oldItemIndex);
- }
-
- private void InitializeReplace(IList addedItems, IList removedItems, int index)
- {
- InitializeAdd (addedItems, index);
- InitializeRemove (removedItems, index);
- }
-
- #endregion
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Collections.Specialized {
-
- public delegate void NotifyCollectionChangedEventHandler (object sender, NotifyCollectionChangedEventArgs e);
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.ComponentModel {
-
- public class CurrentChangedEventManager : WeakEventManager
- {
- internal CurrentChangedEventManager ()
- {
- }
-
- public static void AddListener (ICollectionView source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- public static void RemoveListener (ICollectionView source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StartListening (object source)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StopListening (object source)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.ComponentModel {
-
- public class CurrentChangingEventArgs : EventArgs
- {
- public CurrentChangingEventArgs ()
- {
- }
-
- public CurrentChangingEventArgs (bool isCancelable)
- {
- }
-
- public bool Cancel {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public bool IsCancelable {
- get { throw new NotImplementedException (); }
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.ComponentModel {
-
- public delegate void CurrentChangingEventHandler (object sender, CurrentChangingEventArgs args);
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.ComponentModel {
-
- public class CurrentChangingEventManager : WeakEventManager
- {
- internal CurrentChangingEventManager ()
- {
- }
-
- public static void AddListener (ICollectionView source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- public static void RemoveListener (ICollectionView source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StartListening (object source)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StopListening (object source)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.ComponentModel {
-
- public sealed class DependencyPropertyDescriptor : PropertyDescriptor {
- internal DependencyPropertyDescriptor () : base (null)
- {
- }
-
- public override AttributeCollection Attributes
- {
- get { throw new NotImplementedException (); }
- }
- public override string Category
- {
- get { throw new NotImplementedException (); }
- }
- public override Type ComponentType
- {
- get { throw new NotImplementedException (); }
- }
- public override TypeConverter Converter
- {
- get { throw new NotImplementedException (); }
- }
- public DependencyProperty DependencyProperty
- {
- get { throw new NotImplementedException (); }
- }
- public override string Description
- {
- get { throw new NotImplementedException (); }
- }
- public override bool DesignTimeOnly
- {
- get { throw new NotImplementedException (); }
- }
- public override string DisplayName
- {
- get { throw new NotImplementedException (); }
- }
- public bool IsAttached
- {
- get { throw new NotImplementedException (); }
- }
- public override bool IsBrowsable
- {
- get { throw new NotImplementedException (); }
- }
- public override bool IsLocalizable
- {
- get { throw new NotImplementedException (); }
- }
- public override bool IsReadOnly
- {
- get { throw new NotImplementedException (); }
- }
- public PropertyMetadata Metadata
- {
- get { throw new NotImplementedException (); }
- }
- public override Type PropertyType
- {
- get { throw new NotImplementedException (); }
- }
- public override bool SupportsChangeEvents
- {
- get { throw new NotImplementedException (); }
- }
-
- public override void AddValueChanged (object component, EventHandler handler)
- {
- throw new NotImplementedException ();
- }
- public override bool CanResetValue (object component)
- {
- throw new NotImplementedException ();
- }
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
- public override PropertyDescriptorCollection GetChildProperties (object instance, Attribute[] filter)
- {
- throw new NotImplementedException ();
- }
- public override object GetEditor (Type editorBaseType)
- {
- throw new NotImplementedException ();
- }
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- public override object GetValue (object component)
- {
- throw new NotImplementedException ();
- }
- public override void RemoveValueChanged (object component, EventHandler handler)
- {
- throw new NotImplementedException ();
- }
- public override void ResetValue (object component)
- {
- throw new NotImplementedException ();
- }
- public override void SetValue (object component, object value)
- {
- throw new NotImplementedException ();
- }
- public override bool ShouldSerializeValue (object component)
- {
- throw new NotImplementedException ();
- }
- public override string ToString ()
- {
- throw new NotImplementedException ();
- }
-
- public static DependencyPropertyDescriptor FromName (string name, Type ownerType, Type targetType)
- {
- throw new NotImplementedException ();
- }
- public static DependencyPropertyDescriptor FromProperty (PropertyDescriptor Property)
- {
- throw new NotImplementedException ();
- }
- public static DependencyPropertyDescriptor FromProperty (DependencyProperty dependencyProperty, Type targetType)
- {
- throw new NotImplementedException ();
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.ObjectModel;
-using System.Globalization;
-
-namespace System.ComponentModel {
-
- public abstract class GroupDescription : INotifyPropertyChanged
- {
- protected GroupDescription ()
- {
- throw new NotImplementedException ();
- }
-
- public ObservableCollection<object> GroupNames {
- get { throw new NotImplementedException (); }
- }
-
- event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
- add { PropertyChanged += value; }
- remove { PropertyChanged -= value; }
- }
-
- protected virtual event PropertyChangedEventHandler PropertyChanged;
-
- public virtual bool NamesMatch (object groupName, object itemName)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void OnPropertyChanged (PropertyChangedEventArgs e)
- {
- throw new NotImplementedException ();
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public bool ShouldSerializeGroupNames ()
- {
- throw new NotImplementedException ();
- }
-
- public abstract object GroupNameFromItem (object item, int level, CultureInfo culture);
-
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections;
-using System.Collections.ObjectModel;
-using System.Collections.Specialized;
-using System.Globalization;
-
-namespace System.ComponentModel {
-
- public interface ICollectionView : IEnumerable, INotifyCollectionChanged
- {
- bool CanFilter { get; }
- bool CanGroup { get; }
- bool CanSort { get; }
- CultureInfo Culture { get; set; }
- object CurrentItem { get; }
- int CurrentPosition { get; }
- Predicate<object> Filter {get; set; }
- ObservableCollection<GroupDescription> GroupDescriptions { get; }
- ReadOnlyObservableCollection<object> Groups { get; }
- bool IsCurrentAfterLast { get; }
- bool IsCurrentBeforeFirst { get; }
- bool IsEmpty { get; }
- SortDescriptionCollection SortDescriptions { get; }
- IEnumerable SourceCollection { get; }
-
- event EventHandler CurrentChanged;
- event CurrentChangingEventHandler CurrentChanging;
-
- bool Contains (object item);
- IDisposable DeferRefresh ();
- bool MoveCurrentTo (object item);
- bool MoveCurrentToFirst ();
- bool MoveCurrentToLast ();
- bool MoveCurrentToNext ();
- bool MoveCurrentToPosition (int position);
- bool MoveCurrentToPrevious ();
- void Refresh ();
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.ComponentModel {
-
- public interface ICollectionViewFactory {
- ICollectionView CreateView ();
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.ComponentModel {
-
- public class PropertyChangedEventManager : WeakEventManager
- {
- internal PropertyChangedEventManager ()
- {
- }
-
- public static void AddListener (INotifyPropertyChanged source, IWeakEventListener listener, string propertyName)
- {
- throw new NotImplementedException ();
- }
-
- public static void RemoveListener (INotifyPropertyChanged source, IWeakEventListener listener, string propertyName)
- {
- throw new NotImplementedException ();
- }
-
- protected override bool Purge (object source, object data, bool purgeAll)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StartListening (object source)
- {
- throw new NotImplementedException ();
- }
-
- protected override void StopListening (object source)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.ComponentModel {
-
- public sealed class PropertyFilterAttribute : Attribute
- {
- public static readonly PropertyFilterAttribute Default;
-
- public PropertyFilterAttribute (PropertyFilterOptions filter)
- {
- throw new NotImplementedException ();
- }
-
- public PropertyFilterOptions Filter {
- get { throw new NotImplementedException (); }
- }
-
- public override bool Equals (object value)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public override bool Match (object value)
- {
- throw new NotImplementedException ();
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.ComponentModel {
-
- [Flags]
- public enum PropertyFilterOptions {
- None = 0,
- Invalid = 1,
- SetValues = 2,
- UnsetValues = 4,
- Valid = 8,
- All = 15
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.ComponentModel {
-
- public struct SortDescription
- {
- public SortDescription (string propertyName, ListSortDirection direction)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator!= (SortDescription sd1, SortDescription sd2)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator== (SortDescription sd1, SortDescription sd2)
- {
- throw new NotImplementedException ();
- }
-
- public ListSortDirection Direction {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public bool IsSealed {
- get { throw new NotImplementedException (); }
- }
-
- public string PropertyName {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.ObjectModel;
-using System.Collections.Specialized;
-
-namespace System.ComponentModel {
-
- public class SortDescriptionCollection : Collection<SortDescription>, INotifyCollectionChanged
- {
- public static readonly SortDescriptionCollection Empty = new SortDescriptionCollection ();
-
- public SortDescriptionCollection ()
- {
- }
-
- event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged {
- add { CollectionChanged += value; }
- remove { CollectionChanged -= value; }
- }
-
- protected event NotifyCollectionChangedEventHandler CollectionChanged;
-
- protected override void ClearItems ()
- {
- throw new NotImplementedException ();
- }
-
- protected override void InsertItem (int index, SortDescription item)
- {
- throw new NotImplementedException ();
- }
-
- protected override void RemoveItem (int index)
- {
- throw new NotImplementedException ();
- }
-
- protected override void SetItem (int index, SortDescription item)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Diagnostics {
-
- public enum PresentationTraceLevel {
- None,
- Low,
- Medium,
- High
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-
-namespace System.Diagnostics {
-
- public static class PresentationTraceSources {
- public static readonly DependencyProperty TraceLevelProperty;
-
- public static TraceSource AnimationSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource DataBindingSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource DependencyPropertySource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource DocumentsSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource FreezableSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource HwndHostSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource MarkupSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource NameScopeSource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource ResourceDictionarySource {
- get { throw new NotImplementedException (); }
- }
-
- public static TraceSource RoutedEventSource {
- get { throw new NotImplementedException (); }
- }
-
- public static PresentationTraceLevel GetTraceLevel (object element)
- {
- throw new NotImplementedException ();
- }
-
- public static void Refresh ()
- {
- throw new NotImplementedException ();
- }
-
- public static void SetTraceLevel (object element, PresentationTraceLevel traceLevel)
- {
- throw new NotImplementedException ();
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum CertificateEmbeddingOption {
- InCertificatePart,
- InSignaturePart,
- NotEmbedded
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-
-namespace System.IO.Packaging
-{
- internal static class Check
- {
- static void NotNull (object o, string name)
- {
- if (o == null)
- throw new ArgumentNullException (name);
- }
-
- public static void ContentTypeIsValid (string contentType)
- {
- if (string.IsNullOrEmpty (contentType))
- return;
-
- // Must be in form of: type/subtype
- int index = contentType.IndexOf ('/');
- bool result = (index > 0) && contentType.Length > (index + 1) && contentType.IndexOf ('/', index + 1) == -1;
-
- if(!result)
- throw new ArgumentException ("contentType", "contentType must be in the form of 'type/subtype'");
- }
-
- public static void Id (object id)
- {
- NotNull (id, "id");
- }
-
- public static void IdIsValid (string id)
- {
- if (id == null)
- return;
-
- // If the ID is a zero string, need to throw a ArgNullEx
- if (id.Length == 0)
- throw new ArgumentNullException ("id", "Cannot be whitespace or empty");
-
- // FIXME: I need to XSD parse this to make sure it's valid
- // If it's not, throw an XmlException
- }
-
- private static bool EmptyOrBlank (string s)
- {
- return (s != null && (s == "" || s.Trim ().Length == 0));
- }
-
- public static void Package(object package)
- {
- if (package == null)
- throw new ArgumentNullException ("package");
- }
-
-
- public static void PackageUri (object packageUri)
- {
- NotNull (packageUri, "packageUri");
- }
-
- public static void PackageUriIsValid (Uri packageUri)
- {
- if (!packageUri.IsAbsoluteUri)
- throw new ArgumentException ("packageUri", "Uri must be absolute");
- }
-
- public static void PackUriIsValid (Uri packUri)
- {
- if (packUri.Scheme != PackUriHelper.PackScheme)
- throw new ArgumentException ("packUri", "Uri scheme is not a valid PackUri scheme");
-
- if (!packUri.IsAbsoluteUri)
- throw new ArgumentException ("packUri", "PackUris must be absolute");
- }
-
- public static void PartUri (object partUri)
- {
- if (partUri == null)
- throw new ArgumentNullException ("partUri");
- }
-
- public static void PartUriIsValid (Uri partUri)
- {
- if (!partUri.OriginalString.StartsWith ("/"))
- throw new UriFormatException ("PartUris must start with '/'");
-
- if (partUri.IsAbsoluteUri)
- throw new UriFormatException ("PartUris cannot be absolute");
- }
-
- public static void RelationshipTypeIsValid (string relationshipType)
- {
- if (relationshipType == null)
- throw new ArgumentNullException ("relationshipType");
- if (EmptyOrBlank (relationshipType))
- throw new ArgumentException ("relationshipType", "Cannot be whitespace or empty");
- }
-
- public static void PartUri (Uri partUri)
- {
- if (partUri == null)
- throw new ArgumentNullException ("partUri");
- if (partUri.IsAbsoluteUri)
- throw new ArgumentException ("partUri", "Absolute URIs are not supported");
- if (string.IsNullOrEmpty (partUri.OriginalString))
- throw new ArgumentException ("partUri", "Part uri cannot be an empty string");
- }
-
- public static void SourcePartUri (Uri sourcePartUri)
- {
- NotNull(sourcePartUri, "sourcePartUri");
- }
- public static void SourceUri (Uri sourceUri)
- {
- if (sourceUri == null)
- throw new ArgumentNullException ("sourceUri");
- if (sourceUri.IsAbsoluteUri)
- throw new ArgumentException ("sourceUri", "Absolute URIs are not supported");
- if (string.IsNullOrEmpty (sourceUri.OriginalString))
- throw new ArgumentException ("sourceUri", "Part uri cannot be an empty string");
- }
-
- public static void TargetUri (Uri targetUri)
- {
- if (targetUri == null)
- throw new ArgumentNullException ("targetUri");
- if (targetUri.IsAbsoluteUri)
- throw new ArgumentException ("targetUri", "Absolute URIs are not supported");
- if (string.IsNullOrEmpty (targetUri.OriginalString))
- throw new ArgumentException ("targetUri", "Part uri cannot be an empty string");
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum CompressionOption {
- NotCompressed = -1,
- Normal,
- Maximum,
- Fast,
- SuperFast,
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.IO;
-using System.Security.RightsManagement;
-
-namespace System.IO.Packaging {
-
- public class EncryptedPackageEnvelope : IDisposable
- {
- internal EncryptedPackageEnvelope ()
- {
- }
-
- public FileAccess FileOpenAccess {
- get { throw new NotImplementedException (); }
- }
-
- public PackageProperties PackageProperties {
- get { throw new NotImplementedException (); }
- }
-
- public RightsManagementInformation RightsManagementInformation {
- get { throw new NotImplementedException (); }
- }
-
- public StorageInfo StorageInfo {
- get { throw new NotImplementedException (); }
- }
-
- public void Close ()
- {
- throw new NotImplementedException ();
- }
- public void Dispose ()
- {
- throw new NotImplementedException ();
- }
- public void Flush ()
- {
- throw new NotImplementedException ();
- }
-
- public Package GetPackage ()
- {
- throw new NotImplementedException ();
- }
-
- public static bool IsEncryptedPackageEnvelope (Stream stream)
- {
- throw new NotImplementedException ();
- }
- public static bool IsEncryptedPackageEnvelope (string fileName)
- {
- throw new NotImplementedException ();
- }
-
- public static EncryptedPackageEnvelope Create (Stream envelopeStream, PublishLicense publishLicense, CryptoProvider cryptoProvider)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope Create (string envelopeFileName, PublishLicense publishLicense, CryptoProvider cryptoProvider)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope CreateFromPackage (Stream envelopeStream, Stream packageStream, PublishLicense publishLicense, CryptoProvider cryptoProvider)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope CreateFromPackage (string envelopeFileName, Stream packageStream, PublishLicense publishLicense, CryptoProvider cryptoProvider)
- {
- throw new NotImplementedException ();
- }
-
- public static EncryptedPackageEnvelope Open (Stream envelopeStream)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope Open (string envelopeFileName)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope Open (string envelopeFileName, FileAccess access)
- {
- throw new NotImplementedException ();
- }
- public static EncryptedPackageEnvelope Open (string envelopeFileName, FileAccess access, FileShare sharing)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum EncryptionOption {
- None,
- RightsManagement
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.IO.Packaging {
-
- public delegate void InvalidSignatureEventHandler (object sender, SignatureVerificationEventArgs e);
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.IO.Packaging {
-
- public static class PackUriHelper
- {
- internal const string PackScheme = "pack";
- static readonly Uri PackSchemeUri = new Uri("pack://", UriKind.Absolute);
-
- static PackUriHelper ()
- {
- if (!UriParser.IsKnownScheme (PackScheme))
- UriParser.Register (new PackUriParser (), PackScheme, -1);
- }
-
- public static int ComparePackUri (Uri firstPackUri, Uri secondPackUri)
- {
- // FIXME: Do i need to do validation that it is a pack:// uri?
- if (firstPackUri == null)
- return secondPackUri == null ? 0 : -1;
- if (secondPackUri == null)
- return 1;
-
- // FIXME: What exactly is compared. Lets assume originalstring
- return firstPackUri.OriginalString.CompareTo (secondPackUri.OriginalString);
- }
-
- public static int ComparePartUri (Uri firstPartUri, Uri secondPartUri)
- {
- // FIXME: Do i need to do validation that it is a part URI?
- if (firstPartUri == null)
- return secondPartUri == null ? 0 : -1;
- if (secondPartUri == null)
- return 1;
-
- return firstPartUri.OriginalString.CompareTo (secondPartUri.OriginalString);
- }
-
- public static Uri Create (Uri packageUri)
- {
- return Create (packageUri, null, null);
- }
-
- public static Uri Create (Uri packageUri, Uri partUri)
- {
- return Create (packageUri, partUri, null);
- }
-
- public static Uri Create (Uri packageUri, Uri partUri, string fragment)
- {
- Check.PackageUri (packageUri);
- Check.PackageUriIsValid (packageUri);
-
- if (partUri != null)
- Check.PartUriIsValid (partUri);
-
- if (fragment != null && (fragment.Length == 0 || fragment[0] != '#'))
- throw new ArgumentException ("Fragment", "Fragment must not be empty and must start with '#'");
-
- // FIXME: Validate that partUri is a valid one? Must be relative, must start with '/'
-
- // First replace the slashes, then escape the special characters
- string orig = packageUri.OriginalString.Replace ('/', ',');
-
- if (partUri != null)
- orig += partUri.OriginalString;
-
-// if (sb[sb.Length - 1] != '/')
-// sb.Append ('/');
-
- if (fragment != null)
- orig += fragment;
-
- return new Uri ("pack://" + orig);
- }
-
- public static Uri CreatePartUri (Uri partUri)
- {
- Check.PartUri (partUri);
-
- if (partUri.OriginalString[0] != '/')
- partUri = new Uri("/" + partUri.ToString (), UriKind.Relative);
- return partUri;
- }
-
- public static Uri GetNormalizedPartUri (Uri partUri)
- {
- Check.PartUri (partUri);
- return new Uri (partUri.ToString ().ToUpperInvariant (), UriKind.Relative);
- }
-
- public static Uri GetPackageUri (Uri packUri)
- {
- //Check.PackUri (packUri);
- string s = packUri.Host.Replace (',', '/');
- return new Uri (s, UriKind.Relative);
- }
-
- public static Uri GetPartUri (Uri packUri)
- {
- throw new NotImplementedException ();
- }
-
- public static Uri GetRelationshipPartUri (Uri partUri)
- {
- Check.PartUri (partUri);
- Check.PartUriIsValid (partUri);
-
- int index = partUri.OriginalString.LastIndexOf ("/");
- string s = partUri.OriginalString.Substring (0, index);
- s += "/_rels" + partUri.OriginalString.Substring (index) + ".rels";
- return new Uri (s, UriKind.Relative);
- }
-
- public static Uri GetRelativeUri (Uri sourcePartUri, Uri targetPartUri)
- {
- //Check.SourcePartUri (sourcePartUri);
- //Check.TargetPartUri (targetPartUri);
-
- return sourcePartUri;
- }
-
- public static Uri GetSourcePartUriFromRelationshipPartUri (Uri relationshipPartUri)
- {
- //Check.RelationshipPartUri (relationshipPartUri);
- if (!IsRelationshipPartUri (relationshipPartUri))
- throw new Exception ("is not a relationship part!?");
- return null;
- }
-
- public static bool IsRelationshipPartUri (Uri partUri)
- {
- Check.PartUri (partUri);
- return partUri.OriginalString.StartsWith ("/_rels") && partUri.OriginalString.EndsWith (".rels");
- }
-
- public static Uri ResolvePartUri (Uri sourcePartUri, Uri targetUri)
- {
- Check.SourcePartUri (sourcePartUri);
- Check.TargetUri (targetUri);
-
- Check.PartUriIsValid (sourcePartUri);
- Check.PartUriIsValid (targetUri);
-
- // Need to trim first 7 chars as they are: "file://"
- return new Uri (new Uri(sourcePartUri, targetUri).OriginalString.Substring(7), UriKind.Relative);
- }
- }
-
-}
+++ /dev/null
-// PackUriParser.cs created with MonoDevelop
-// User: alan at 14:50 31/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace System.IO.Packaging
-{
- class PackUriParser : System.GenericUriParser
- {
- const string SchemaName = "pack";
-
- StringBuilder builder = new StringBuilder();
-
- public PackUriParser ()
- : base (GenericUriParserOptions.Default)
- {
- }
-
- protected override string GetComponents(Uri uri, UriComponents components, UriFormat format)
- {
- string s = uri.OriginalString;
- builder.Remove(0, builder.Length);
-
- if ((components & UriComponents.Scheme) == UriComponents.Scheme)
- {
- int start = 0;
- int end = s.IndexOf(':');
- builder.Append(s, start, end - start);
- }
-
- if ((components & UriComponents.Host) == UriComponents.Host)
- {
- // Skip past pack://
- int start = 7;
- int end = s.IndexOf('/', start);
- if (end == -1)
- end = s.Length;
-
- if (builder.Length > 0)
- builder.Append("://");
-
- builder.Append(s, start, end - start);
- }
-
- // Port is always -1, so i think i can ignore both Port and StrongPort
- // Normally they'd get parsed here
-
- if ((components & UriComponents.Path) == UriComponents.Path)
- {
- // Skip past pack://
- int start = s.IndexOf('/', 7);
- int end = s.IndexOf('?');
- if (end == -1)
- end = s.IndexOf('#');
- if (end == -1)
- end = s.Length;
-
- if ((components & UriComponents.KeepDelimiter) != UriComponents.KeepDelimiter &&
- builder.Length == 0)
- start++;
-
- builder.Append(s, start, end - start);
- }
-
- if ((components & UriComponents.Query) == UriComponents.Query)
- {
- int index = s.IndexOf('?');
- if (index == -1)
- return null;
-
- if ((components & UriComponents.KeepDelimiter) != UriComponents.KeepDelimiter &&
- builder.Length == 0)
- index++;
-
- int fragIndex = s.IndexOf('#');
- int end = fragIndex == -1 ? s.Length : fragIndex;
- builder.Append(s, index, end - index);
- }
-
- if ((components & UriComponents.Fragment) == UriComponents.Fragment)
- {
- int index = s.IndexOf('#');
- if (index == -1)
- return null;
-
- if ((components & UriComponents.KeepDelimiter) != UriComponents.KeepDelimiter &&
- builder.Length == 0)
- index++;
-
- builder.Append(s, index, s.Length - index);
- }
-
- return builder.ToString();
- }
-
- protected override void InitializeAndValidate(Uri uri, out UriFormatException parsingError)
- {
- parsingError = null;
- }
-
- protected override UriParser OnNewUri()
- {
- return new PackUriParser();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Xml;
-
-namespace System.IO.Packaging {
-
- public abstract class Package : IDisposable
- {
- internal const string RelationshipContentType = "application/vnd.openxmlformats-package.relationships+xml";
- internal const string RelationshipNamespace = "http://schemas.openxmlformats.org/package/2006/relationships";
- internal static readonly Uri RelationshipUri = new Uri ("/_rels/.rels", UriKind.Relative);
-
- PackageProperties packageProperties;
- PackagePartCollection partsCollection;
- Dictionary<string, PackageRelationship> relationships;
- PackageRelationshipCollection relationshipsCollection = new PackageRelationshipCollection ();
- Uri Uri = new Uri ("/", UriKind.Relative);
-
-
- public FileAccess FileOpenAccess {
- get; private set;
- }
-
- public PackageProperties PackageProperties {
- get {
- // PackageProperties are loaded when the relationships are loaded.
- // Therefore ensure we've already loaded the relationships.
- int count = Relationships.Count;
-
- if (packageProperties == null) {
- packageProperties = new PackagePropertiesPart ();
- packageProperties.Package = this;
- }
- return packageProperties;
- }
- }
-
- PackagePartCollection PartsCollection {
- get {
- if (partsCollection == null) {
- partsCollection = new PackagePartCollection ();
- partsCollection.Parts.AddRange (GetPartsCore ());
- }
- return partsCollection;
- }
- }
-
- int RelationshipId {
- get; set;
- }
-
- Dictionary<string, PackageRelationship> Relationships {
- get {
- if (relationships == null) {
- LoadRelationships ();
- }
- return relationships;
- }
- }
-
- bool Streaming {
- get; set;
- }
-
-
- protected Package (FileAccess fileOpenAccess)
- : this (fileOpenAccess, false)
- {
-
- }
-
- protected Package (FileAccess fileOpenAccess, bool streaming)
- {
- FileOpenAccess = fileOpenAccess;
- Streaming = streaming;
- }
-
-
- internal void CheckIsReadOnly ()
- {
- if (FileOpenAccess == FileAccess.Read)
- throw new IOException ("Operation not valid when package is read-only");
- }
-
- public void Close ()
- {
- // FIXME: Ensure that Flush is actually called before dispose
- Flush ();
- Dispose (true);
- }
-
- public PackagePart CreatePart (Uri partUri, string contentType)
- {
- return CreatePart (partUri, contentType, CompressionOption.NotCompressed);
- }
-
- public PackagePart CreatePart (Uri partUri, string contentType, CompressionOption compressionOption)
- {
- CheckIsReadOnly ();
- Check.PartUri (partUri);
- Check.ContentTypeIsValid (contentType);
-
- if (PartExists (partUri))
- throw new InvalidOperationException ("This partUri is already contained in the package");
-
- PackagePart part = CreatePartCore (partUri, contentType, compressionOption);
- PartsCollection.Parts.Add (part);
- return part;
- }
-
- protected abstract PackagePart CreatePartCore (Uri parentUri, string contentType, CompressionOption compressionOption);
-
- public PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType)
- {
- return CreateRelationship (targetUri, targetMode, relationshipType, null);
- }
-
- public PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id)
- {
- return CreateRelationship (targetUri, targetMode, relationshipType, id, false);
- }
-
- internal PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id, bool loading)
- {
- if (!loading)
- CheckIsReadOnly ();
-
- Check.TargetUri (targetUri);
-
- Check.RelationshipTypeIsValid (relationshipType);
- Check.IdIsValid (id);
-
- if (id == null)
- id = NextId ();
-
- PackageRelationship r = new PackageRelationship (id, this, relationshipType, Uri, targetMode, targetUri);
-
- if (!PartExists (RelationshipUri))
- CreatePartCore (RelationshipUri, RelationshipContentType, CompressionOption.NotCompressed).IsRelationship = true;
-
- Relationships.Add (r.Id, r);
- relationshipsCollection.Relationships.Add (r);
-
- if (!loading) {
- using (Stream s = GetPart (RelationshipUri).GetStream ())
- WriteRelationships (relationships, s);
- }
-
- return r;
- }
-
-
- public void DeletePart (Uri partUri)
- {
- CheckIsReadOnly ();
- Check.PartUri (partUri);
-
- PackagePart part = GetPart (partUri);
- if (part != null)
- {
- if (part.Package == null)
- throw new InvalidOperationException ("This part has already been removed");
-
- // FIXME: MS.NET doesn't remove the relationship part
- // Instead it throws an exception if you try to use it
- if (PartExists (part.RelationshipsPartUri))
- GetPart (part.RelationshipsPartUri).Package = null;
-
- part.Package = null;
- DeletePartCore (partUri);
- PartsCollection.Parts.RemoveAll (p => p.Uri == partUri);
- }
- }
-
- protected abstract void DeletePartCore (Uri partUri);
-
- public void DeleteRelationship (string id)
- {
- Check.Id (id);
- CheckIsReadOnly ();
-
- Relationships.Remove (id);
-
- relationshipsCollection.Relationships.RemoveAll (r => r.Id == id);
- if (Relationships.Count > 0)
- using (Stream s = GetPart (RelationshipUri).GetStream ())
- WriteRelationships (relationships, s);
- else
- DeletePart (RelationshipUri);
- }
-
- void IDisposable.Dispose ()
- {
- Flush ();
- Dispose (true);
- }
-
- protected virtual void Dispose (bool disposing)
- {
- // Nothing here needs to be disposed of
- }
-
- bool flushing = false;
- public void Flush ()
- {
- if (FileOpenAccess == FileAccess.Read || flushing)
- return;
-
- flushing = true;
-
- // Ensure we've loaded the relationships, parts and properties
- int count = Relationships.Count;
-
- if (packageProperties != null)
- packageProperties.Flush ();
-
- FlushCore ();
-
- flushing = false;
- }
-
- protected abstract void FlushCore ();
-
- public PackagePart GetPart (Uri partUri)
- {
- Check.PartUri (partUri);
- return GetPartCore (partUri);
- }
-
- protected abstract PackagePart GetPartCore (Uri partUri);
-
- public PackagePartCollection GetParts ()
- {
- PartsCollection.Parts.Clear ();
- PartsCollection.Parts.AddRange (GetPartsCore());
- return PartsCollection;
- }
-
- protected abstract PackagePart [] GetPartsCore ();
-
- public PackageRelationship GetRelationship (string id)
- {
- return Relationships [id];
- }
-
- public PackageRelationshipCollection GetRelationships ()
- {
- relationshipsCollection.Relationships.Clear ();
- relationshipsCollection.Relationships.AddRange (Relationships.Values);
- return relationshipsCollection;
- }
-
- public PackageRelationshipCollection GetRelationshipsByType (string relationshipType)
- {
- PackageRelationshipCollection collection = new PackageRelationshipCollection ();
- foreach (PackageRelationship r in Relationships.Values)
- if (r.RelationshipType == relationshipType)
- collection.Relationships.Add (r);
-
- return collection;
- }
-
- void LoadRelationships ()
- {
- relationships = new Dictionary<string, PackageRelationship> ();
-
- if (!PartExists (RelationshipUri))
- return;
-
- using (Stream stream = GetPart (RelationshipUri).GetStream ()) {
- XmlDocument doc = new XmlDocument ();
- doc.Load (stream);
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("rel", RelationshipNamespace);
-
- doc.WriteTo (new XmlTextWriter (Console.Out));
-
- foreach (XmlNode node in doc.SelectNodes ("/rel:Relationships/*", manager))
- {
-
- TargetMode mode = TargetMode.Internal;
- if (node.Attributes["TargetMode"] != null)
- mode = (TargetMode) Enum.Parse (typeof(TargetMode), node.Attributes ["TargetMode"].Value);
-
- CreateRelationship (new Uri (node.Attributes ["Target"].Value.ToString(), UriKind.Relative),
- mode,
- node.Attributes["Type"].Value.ToString (),
- node.Attributes["Id"].Value.ToString (),
- true);
- }
-
- foreach (PackageRelationship r in Relationships.Values) {
- if (r.RelationshipType == System.IO.Packaging.PackageProperties.NSPackageProperties) {
- PackagePart part = GetPart (r.TargetUri);
- packageProperties = new PackagePropertiesPart ();
- packageProperties.Package = this;
- packageProperties.Part = part;
- packageProperties.LoadFrom (part.GetStream ());
- }
- }
- }
- }
-
- string NextId ()
- {
- while (true) {
- string s = RelationshipId.ToString ();
- if (!Relationships.ContainsKey (s))
- return s;
-
- RelationshipId++;
- }
- }
-
- public static Package Open (Stream stream)
- {
- return Open (stream, FileMode.Open);
- }
-
- public static Package Open (string path)
- {
- return Open (path, FileMode.OpenOrCreate);
- }
-
- public static Package Open (Stream stream, FileMode packageMode)
- {
- FileAccess access = packageMode == FileMode.Open ? FileAccess.Read : FileAccess.ReadWrite;
- return Open (stream, packageMode, access);
- }
-
- public static Package Open (string path, FileMode packageMode)
- {
- return Open (path, packageMode, FileAccess.ReadWrite);
- }
-
- public static Package Open (Stream stream, FileMode packageMode, FileAccess packageAccess)
- {
- return OpenCore (stream, packageMode, packageAccess);
- }
-
- public static Package Open (string path, FileMode packageMode, FileAccess packageAccess)
- {
- return Open (path, packageMode, packageAccess, FileShare.None);
- }
-
- public static Package Open (string path, FileMode packageMode, FileAccess packageAccess, FileShare packageShare)
- {
- if (packageShare != FileShare.Read && packageShare != FileShare.None)
- throw new NotSupportedException ("FileShare.Read and FileShare.None are the only supported options");
-
- FileInfo info = new FileInfo (path);
-
- // Bug - MS.NET appears to test for FileAccess.ReadWrite, not FileAccess.Write
- if (packageAccess != FileAccess.ReadWrite && !info.Exists)
- throw new ArgumentException ("packageAccess", "Cannot create stream with FileAccess.Read");
-
-
- if (info.Exists && packageMode == FileMode.OpenOrCreate && info.Length == 0)
- throw new FileFormatException ("Stream length cannot be zero with FileMode.Open");
-
- Stream s = File.Open (path, packageMode, packageAccess, packageShare);
- return Open (s, packageMode, packageAccess);
- }
-
- static Package OpenCore (Stream stream, FileMode packageMode, FileAccess packageAccess)
- {
- if ((packageAccess & FileAccess.Read) == FileAccess.Read && !stream.CanRead)
- throw new IOException ("Stream does not support reading");
-
- if ((packageAccess & FileAccess.Write) == FileAccess.Write && !stream.CanWrite)
- throw new IOException ("Stream does not support reading");
-
- if (!stream.CanSeek)
- throw new ArgumentException ("stream", "Stream must support seeking");
-
- if (packageMode == FileMode.Open && stream.Length == 0)
- throw new FileFormatException("Stream length cannot be zero with FileMode.Open");
-
- if (packageMode == FileMode.CreateNew && stream.Length > 0)
- throw new IOException ("Cannot use CreateNew when stream contains data");
-
- if (packageMode == FileMode.Append || packageMode == FileMode.Truncate)
- {
- if (stream.CanWrite)
- throw new NotSupportedException (string.Format("PackageMode.{0} is not supported", packageMode));
- else
- throw new IOException (string.Format("PackageMode.{0} is not supported", packageMode));
- }
-
- // Test to see if archive is valid
- if (stream.Length > 0 && packageAccess == FileAccess.Read) {
- try {
- using (zipsharp.UnzipArchive a = new zipsharp.UnzipArchive (stream)) {
- }
- } catch {
- throw new FileFormatException ("The specified archive is invalid.");
- }
- }
-
- // FIXME: MS docs say that a ZipPackage is returned by default.
- // It looks like if you create a custom package, you cannot use Package.Open.
- return new ZipPackage (packageAccess, stream);
- }
-
- public virtual bool PartExists (Uri partUri)
- {
- return GetPart (partUri) != null;
- }
-
- public bool RelationshipExists (string id)
- {
- return Relationships.ContainsKey (id);
- }
-
- internal static void WriteRelationships (Dictionary <string, PackageRelationship> relationships, Stream stream)
- {
- XmlDocument doc = new XmlDocument ();
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("rel", RelationshipNamespace);
-
- doc.AppendChild (doc.CreateNode (XmlNodeType.XmlDeclaration, "", ""));
-
- XmlNode root = doc.CreateNode (XmlNodeType.Element, "Relationships", RelationshipNamespace);
- doc.AppendChild (root);
-
- foreach (PackageRelationship relationship in relationships.Values)
- {
- XmlNode node = doc.CreateNode (XmlNodeType.Element, "Relationship", RelationshipNamespace);
-
- XmlAttribute idAtt = doc.CreateAttribute ("Id");
- idAtt.Value = relationship.Id;
- node.Attributes.Append(idAtt);
-
- XmlAttribute targetAtt = doc.CreateAttribute ("Target");
- targetAtt.Value = relationship.TargetUri.ToString ();
- node.Attributes.Append(targetAtt);
-
- XmlAttribute typeAtt = doc.CreateAttribute ("Type");
- typeAtt.Value = relationship.RelationshipType;
- node.Attributes.Append(typeAtt);
-
- root.AppendChild (node);
- }
-
- using (XmlTextWriter writer = new XmlTextWriter (stream, System.Text.Encoding.UTF8))
- doc.WriteTo (writer);
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Security;
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.IO.Packaging {
-
- public class PackageDigitalSignature
- {
- internal PackageDigitalSignature ()
- {
- }
-
- public CertificateEmbeddingOption CertificateEmbeddingOption {
- get { throw new NotImplementedException (); }
- }
-
-#if notyet
- public System.Security.Cryptography.Xml.Signature Signature {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-#endif
-
- public PackagePart SignaturePart {
- get { throw new NotImplementedException (); }
- }
-
- public string SignatureType {
- get { throw new NotImplementedException (); }
- }
-
- public byte[] SignatureValue {
- get { throw new NotImplementedException (); }
- }
-
- public ReadOnlyCollection<Uri> SignedParts {
- get { throw new NotImplementedException (); }
- }
-
- public ReadOnlyCollection<PackageRelationshipSelector> SignedRelationshipSelectors {
- get { throw new NotImplementedException (); }
- }
-
- public X509Certificate Signer {
- get { throw new NotImplementedException (); }
- }
-
- public DateTime SigningTime {
- get { throw new NotImplementedException (); }
- }
-
- public string TimeFormat {
- get { throw new NotImplementedException (); }
- }
-
- public List<string> GetPartTransformList(Uri partName)
- {
- throw new NotImplementedException ();
- }
-
- public VerifyResult Verify()
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- [SecurityTreatAsSafe]
- public VerifyResult Verify(X509Certificate signingCertificate)
- {
- throw new NotImplementedException ();
- }
-
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Security;
-using System.Security.Cryptography.X509Certificates;
-
-namespace System.IO.Packaging {
-
- public class PackageDigitalSignatureManager
- {
- public static string DefaultHashAlgorithm {
- get { throw new NotImplementedException (); }
- }
-
- public static string SignatureOriginRelationshipType {
- get { throw new NotImplementedException (); }
- }
-
-
- public PackageDigitalSignatureManager (Package package)
- {
- throw new NotImplementedException ();
- }
-
-
- public CertificateEmbeddingOption CertificateOption {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public string HashAlgorithm {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public bool IsSigned {
- get { throw new NotImplementedException (); }
- }
-
- public IntPtr ParentWindow {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public Uri SignatureOrigin {
- get { throw new NotImplementedException (); }
- }
-
- public ReadOnlyCollection<PackageDigitalSignature> Signatures {
- get { throw new NotImplementedException (); }
- }
-
- public string TimeFormat {
- get { throw new NotImplementedException (); }
- }
-
- public Dictionary<string, string> TransformMapping {
- get { throw new NotImplementedException (); }
- }
-
-
- public event InvalidSignatureEventHandler InvalidSignatureEvent;
-
- public PackageDigitalSignature Countersign()
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature Countersign(X509Certificate certificate)
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature Countersign(X509Certificate certificate, IEnumerable<Uri> signatures)
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature GetSignature (Uri signatureUri)
- {
- throw new NotImplementedException ();
- }
-
-
- public void RemoveSignature (Uri signatureUri)
- {
- throw new NotImplementedException ();
- }
-
- public void RemoveAllSignatures ()
- {
- throw new NotImplementedException ();
- }
-
-
- public PackageDigitalSignature Sign (IEnumerable<Uri> parts)
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature Sign (IEnumerable<Uri> parts, X509Certificate certificate)
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature Sign (IEnumerable<Uri> parts, X509Certificate certificate, IEnumerable<PackageRelationshipSelector> relationshipSelectors)
- {
- throw new NotImplementedException ();
- }
-
- public PackageDigitalSignature Sign (IEnumerable<Uri> parts, X509Certificate certificate, IEnumerable<PackageRelationshipSelector> relationshipSelectors,
- string signatureId)
- {
- throw new NotImplementedException ();
- }
-
-#if notyet
- public PackageDigitalSignature Sign (IEnumerable<Uri> parts, X509Certificate certificate, IEnumerable<PackageRelationshipSelector> relationshipSelectors,
- string signatureId,
- IEnumerable<System.Security.Cryptography.Xml.DataObject> signatureObjects,
- IEnumerable<System.Security.Cryptography.Xml.Reference> objectReferences)
- {
- throw new NotImplementedException ();
- }
-#endif
-
- [SecurityCritical]
- public static X509ChainStatusFlags VerifyCertificate (X509Certificate certificate)
- {
- throw new NotImplementedException ();
- }
-
- public VerifyResult VerifySignatures (bool exitOnFailure)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Xml;
-
-namespace System.IO.Packaging {
-
- public abstract class PackagePart
- {
- string contentType;
-
- internal bool IsRelationship { get; set; }
-
- int relationshipId;
- Dictionary<string, PackageRelationship> relationships;
- PackageRelationshipCollection relationshipsCollection = new PackageRelationshipCollection ();
-
- Dictionary<string, PackageRelationship> Relationships {
- get {
- if (relationships == null) {
- relationships = new Dictionary<string, PackageRelationship> (StringComparer.OrdinalIgnoreCase);
- if (Package.PartExists (RelationshipsPartUri))
- using (Stream s = Package.GetPart (RelationshipsPartUri).GetStream ())
- LoadRelationships (relationships, s);
- }
-
- return relationships;
- }
- }
- Stream PartStream { get; set; }
-
- internal Uri RelationshipsPartUri {
- get; set;
- }
-
- protected PackagePart (Package package, Uri partUri)
- : this(package, partUri, null)
- {
-
- }
-
- protected internal PackagePart (Package package, Uri partUri, string contentType)
- : this (package, partUri, contentType, CompressionOption.Normal)
- {
-
- }
-
- protected internal PackagePart (Package package, Uri partUri, string contentType, CompressionOption compressionOption)
- {
- Check.Package (package);
- Check.PartUri (partUri);
- Check.ContentTypeIsValid (contentType);
-
- Package = package;
- Uri = partUri;
- ContentType = contentType;
- CompressionOption = compressionOption;
- RelationshipsPartUri = PackUriHelper.GetRelationshipPartUri(Uri);
- }
-
- public CompressionOption CompressionOption {
- get; private set;
- }
-
- public string ContentType {
- get {
- if (contentType == null && (contentType = GetContentTypeCore()) == null)
- throw new NotSupportedException ("If contentType is not supplied in the constructor, GetContentTypeCore must be overridden");
- return contentType;
- }
- private set {
- contentType = value;
- }
- }
-
- public Package Package {
- get; internal set;
- }
-
- public Uri Uri {
- get; private set;
- }
-
- private void CheckIsRelationship ()
- {
- if (IsRelationship)
- throw new InvalidOperationException ("A relationship cannot have relationships to other parts");
- }
-
- public PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType)
- {
- return CreateRelationship (targetUri, targetMode, relationshipType, null);
- }
-
- public PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id)
- {
- return CreateRelationship (targetUri, targetMode, relationshipType, id, false);
- }
-
- private PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id, bool loading)
- {
- Package.CheckIsReadOnly ();
- Check.TargetUri (targetUri);
- Check.RelationshipTypeIsValid (relationshipType);
- Check.IdIsValid (id);
-
- if (id == null)
- id = NextId ();
-
- if (Relationships.ContainsKey (id))
- throw new XmlException ("A relationship with this ID already exists");
-
- PackageRelationship r = new PackageRelationship (id, Package, relationshipType, Uri, targetMode, targetUri);
- Relationships.Add (r.Id, r);
-
- if (!loading)
- WriteRelationships ();
- return r;
- }
-
- public void DeleteRelationship (string id)
- {
- Package.CheckIsReadOnly ();
- CheckIsRelationship ();
- Relationships.Remove (id);
- WriteRelationships ();
- }
-
- void LoadRelationships (Dictionary<string, PackageRelationship> relationships, Stream stream)
- {
- XmlDocument doc = new XmlDocument ();
- doc.Load (stream);
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("rel", Package.RelationshipNamespace);
-
- foreach (XmlNode node in doc.SelectNodes ("/rel:Relationships/*", manager))
- {
- TargetMode mode = TargetMode.Internal;
- if (node.Attributes["TargetMode"] != null)
- mode = (TargetMode) Enum.Parse (typeof(TargetMode), node.Attributes ["TargetMode"].Value);
-
- CreateRelationship (new Uri ("/" + node.Attributes["Target"].Value.ToString(), UriKind.Relative),
- mode,
- node.Attributes["Type"].Value.ToString (),
- node.Attributes["Id"].Value.ToString (),
- true);
- }
- }
-
- public bool RelationshipExists (string id)
- {
- CheckIsRelationship ();
- return Relationships.ContainsKey (id);
- }
-
- public PackageRelationship GetRelationship (string id)
- {
- CheckIsRelationship ();
- return Relationships [id];
- }
-
- public PackageRelationshipCollection GetRelationships ()
- {
- CheckIsRelationship ();
- relationshipsCollection.Relationships.Clear ();
- relationshipsCollection.Relationships.AddRange (Relationships.Values);
- return relationshipsCollection;
- }
-
- public PackageRelationshipCollection GetRelationshipsByType (string relationshipType)
- {
- CheckIsRelationship ();
- PackageRelationshipCollection collection = new PackageRelationshipCollection ();
- foreach (PackageRelationship r in Relationships.Values)
- if (r.RelationshipType == relationshipType)
- collection.Relationships.Add (r);
-
- return collection;
- }
-
- public Stream GetStream ()
- {
- // FIXME: Need to find out what kind of access the streams are usually opened with
- // Appears to be read/write/seek == true.
- return GetStream (Package.FileOpenAccess == FileAccess.Read && !IsRelationship ? FileMode.Open : FileMode.OpenOrCreate);
- }
-
- public Stream GetStream (FileMode mode)
- {
- return GetStream (mode, IsRelationship ? FileAccess.ReadWrite : Package.FileOpenAccess);
- }
-
- public Stream GetStream (FileMode mode, FileAccess access)
- {
- return GetStreamCore (mode, access);
- }
-
- protected abstract Stream GetStreamCore (FileMode mode, FileAccess access);
-
- protected virtual string GetContentTypeCore ()
- {
- return null;
- }
-
- private string NextId ()
- {
- while (true)
- {
- string s = relationshipId.ToString ();
- if (!RelationshipExists (s))
- return s;
- relationshipId ++;
- }
- }
-
- void WriteRelationships ()
- {
- bool exists = Package.PartExists (RelationshipsPartUri);
- if (exists && Relationships.Count == 0)
- {
- Package.DeletePart (RelationshipsPartUri);
- return;
- }
-
- if (!exists)
- {
- PackagePart part = Package.CreatePart (RelationshipsPartUri, Package.RelationshipContentType);
- part.IsRelationship = true;
- }
- using (Stream s = Package.GetPart (RelationshipsPartUri).GetStream ())
- Package.WriteRelationships (Relationships, s);
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging {
-
- public class PackagePartCollection : IEnumerable<PackagePart>, IEnumerable
- {
- internal List<PackagePart> Parts { get; private set; }
-
- internal PackagePartCollection ()
- {
- Parts = new List<PackagePart> ();
- }
-
- IEnumerator<PackagePart> IEnumerable<PackagePart>.GetEnumerator ()
- {
- return Parts.GetEnumerator ();
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return Parts.GetEnumerator ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Xml;
-
-namespace System.IO.Packaging {
-
- public abstract class PackageProperties : IDisposable
- {
- internal const string NSPackageProperties = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";
- internal const string PackagePropertiesContentType = "application/vnd.openxmlformats-package.core-properties+xml";
-
-
- static int uuid;
-
- protected PackageProperties ()
- {
-
- }
-
- public abstract string Category { get; set; }
- public abstract string ContentStatus { get; set; }
- public abstract string ContentType { get; set; }
- public abstract DateTime? Created { get; set; }
- public abstract string Creator { get; set; }
- public abstract string Description { get; set; }
- public abstract string Identifier { get; set; }
- public abstract string Keywords { get; set; }
- public abstract string Language { get; set; }
- public abstract string LastModifiedBy { get; set; }
- public abstract DateTime? LastPrinted { get; set; }
- public abstract DateTime? Modified { get; set; }
- internal Package Package { get; set; }
- internal PackagePart Part { get; set; }
- public abstract string Revision { get; set; }
- public abstract string Subject { get; set; }
- public abstract string Title { get; set; }
- public abstract string Version { get; set; }
-
-
- public void Dispose ()
- {
- Dispose (true);
- }
-
- protected virtual void Dispose (bool disposing)
- {
- // Nothing
- }
-
- internal void Flush ()
- {
- if (Part == null)
- {
- int id = System.Threading.Interlocked.Increment (ref uuid);
- Uri uri = new Uri (string.Format ("/package/services/metadata/core-properties/{0}.psmdcp", id), UriKind.Relative);
- Part = Package.CreatePart (uri, PackagePropertiesContentType);
- PackageRelationship rel = Package.CreateRelationship (uri, TargetMode.Internal, NSPackageProperties);
- }
-
- using (Stream s = Part.GetStream ()) {
- s.SetLength (0);
-
- using (XmlTextWriter writer = new XmlTextWriter (s, System.Text.Encoding.UTF8))
- WriteTo (writer);
- }
- }
-
- internal virtual void LoadFrom (Stream stream)
- {
-
- }
-
- internal virtual void WriteTo (XmlTextWriter writer)
- {
-
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// PackagePropertiesPart.cs created with MonoDevelop
-// User: alan at 11:07 04/11/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Xml;
-
-namespace System.IO.Packaging
-{
- class PackagePropertiesPart : PackageProperties
- {
- const string NSDc = "http://purl.org/dc/elements/1.1/";
- const string NSDcTerms = "http://purl.org/dc/terms/";
- const string NSXsi = "http://www.w3.org/2001/XMLSchema-instance";
-
- string category;
- string contentStatus;
- string contentType;
- DateTime? created;
- string creator;
- string description;
- string identifier;
- string keywords;
- string language;
- string lastModifiedBy;
- DateTime? lastPrinted;
- DateTime? modified;
- string revision;
- string subject;
- string title;
- string version;
-
- public PackagePropertiesPart ()
- {
-
- }
-
- public override string Category {
- get {
- return category;
- }
- set {
- Package.CheckIsReadOnly ();
- category = value;
- }
- }
- public override string ContentStatus {
- get {
- return contentStatus;
- }
- set {
- Package.CheckIsReadOnly ();
- contentStatus = value;
- }
- }
- public override string ContentType {
- get {
- return contentType;
- }
- set {
- Package.CheckIsReadOnly ();
- contentType = value;
- }
- }
- public override DateTime? Created {
- get {
- return created;
- }
- set {
- Package.CheckIsReadOnly ();
- created = value;
- }
- }
- public override string Creator {
- get {
- return creator;
- }
- set {
- Package.CheckIsReadOnly ();
- creator = value;
- }
- }
- public override string Description {
- get {
- return description;
- }
- set {
- Package.CheckIsReadOnly ();
- description = value;
- }
- }
- public override string Identifier {
- get {
- return identifier;
- }
- set {
- Package.CheckIsReadOnly ();
- identifier = value;
- }
- }
- public override string Keywords {
- get {
- return keywords;
- }
- set {
- Package.CheckIsReadOnly ();
- keywords = value;
- }
- }
- public override string Language {
- get {
- return language;
- }
- set {
- Package.CheckIsReadOnly ();
- language = value;
- }
- }
- public override string LastModifiedBy {
- get {
- return lastModifiedBy;
- }
- set {
- Package.CheckIsReadOnly ();
- lastModifiedBy = value;
- }
- }
- public override DateTime? LastPrinted {
- get {
- return lastPrinted;
- }
- set {
- Package.CheckIsReadOnly ();
- lastPrinted = value;
- }
- }
- public override DateTime? Modified {
- get {
- return modified;
- }
- set {
- Package.CheckIsReadOnly ();
- modified = value;
- }
- }
- public override string Revision {
- get {
- return revision;
- }
- set {
- Package.CheckIsReadOnly ();
- revision = value;
- }
- }
- public override string Subject {
- get {
- return subject;
- }
- set {
- Package.CheckIsReadOnly ();
- subject = value;
- }
- }
- public override string Title {
- get {
- return title;
- }
- set {
- Package.CheckIsReadOnly ();
- title = value;
- }
- }
- public override string Version {
- get {
- return version;
- }
- set {
- Package.CheckIsReadOnly ();
- version = value;
- }
- }
-
- internal override void LoadFrom (Stream stream)
- {
- XmlDocument doc = new XmlDocument ();
- doc.Load (stream);
-
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("prop", NSPackageProperties);
- manager.AddNamespace ("dc", NSDc);
- manager.AddNamespace ("dcterms", NSDcTerms);
- manager.AddNamespace ("xsi", NSXsi);
-
- XmlNode node;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:category", manager)) != null)
- category = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:contentStatus", manager)) != null)
- contentStatus = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:contentType", manager)) != null)
- contentType = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dcterms:created", manager)) != null)
- created = DateTime.Parse (node.InnerXml);
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:creator", manager)) != null)
- creator = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:description", manager)) != null)
- description = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:identifier", manager)) != null)
- identifier = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:keywords", manager)) != null)
- keywords = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:language", manager)) != null)
- language = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:lastModifiedBy", manager)) != null)
- lastModifiedBy = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:lastPrinted", manager)) != null)
- lastPrinted = DateTime.Parse (node.InnerXml);
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dcterms:modified", manager)) != null)
- modified = DateTime.Parse (node.InnerXml);
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:revision", manager)) != null)
- revision = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:subject", manager)) != null)
- subject = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/dc:title", manager)) != null)
- title = node.InnerXml;
- if ((node = doc.SelectSingleNode ("prop:coreProperties/prop:version", manager)) != null)
- version = node.InnerXml;
- }
-
- internal override void WriteTo(XmlTextWriter writer)
- {
- XmlDocument doc = new XmlDocument ();
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("prop", NSPackageProperties);
- manager.AddNamespace ("dc", NSDc);
- manager.AddNamespace ("dcterms", NSDcTerms);
- manager.AddNamespace ("xsi", NSXsi);
-
- // Create XML declaration
- doc.AppendChild (doc.CreateXmlDeclaration ("1.0", "UTF-8", null));
-
- // Create root node with required namespace declarations
- XmlNode coreProperties = doc.AppendChild (doc.CreateNode (XmlNodeType.Element, "coreProperties", NSPackageProperties));
- coreProperties.Attributes.Append (doc.CreateAttribute ("xmlns:dc")).Value = NSDc;
- coreProperties.Attributes.Append (doc.CreateAttribute ("xmlns:dcterms")).Value = NSDcTerms;
- coreProperties.Attributes.Append (doc.CreateAttribute ("xmlns:xsi")).Value = NSXsi;
-
- // Create the children
- if (Category != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "category", NSPackageProperties)).InnerXml = Category;
- if (ContentStatus != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "contentStatus", NSPackageProperties)).InnerXml = ContentStatus;
- if (ContentType != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "contentType", NSPackageProperties)).InnerXml = ContentType;
- if (Created.HasValue)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dcterms", "created", NSDcTerms)).InnerXml = Created.Value.ToString ();
- if (Creator != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "creator", NSDc)).InnerXml = Creator;
- if (Description != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "description", NSDc)).InnerXml = Description;
- if (Identifier != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "identifier", NSDc)).InnerXml = Identifier;
- if (Keywords != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "keywords", NSPackageProperties)).InnerXml = Keywords;
- if (Language != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "language", NSDc)).InnerXml = Language;
- if (LastModifiedBy != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "lastModifiedBy", NSPackageProperties)).InnerXml = LastModifiedBy;
- if (LastPrinted.HasValue)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "lastPrinted", NSPackageProperties)).InnerXml = LastPrinted.Value.ToString ();
- if (Revision != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "revision", NSPackageProperties)).InnerXml = Revision;
- if (Subject != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "subject", NSDc)).InnerXml = Subject;
- if (Title != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dc", "title", NSDc)).InnerXml = Title;
- if (Version != null)
- coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "version", NSPackageProperties)).InnerXml = Version;
-
- if (Modified.HasValue)
- {
- XmlAttribute att = doc.CreateAttribute("xsi", "type", NSXsi);
- att.Value = "dcterms:W3CDTF";
-
- XmlNode modified = coreProperties.AppendChild (doc.CreateNode (XmlNodeType.Element, "dcterms", "modified", NSDcTerms));
- modified.Attributes.Append (att);
- modified.InnerXml = Modified.Value.ToString ();
- }
-
- doc.WriteContentTo (writer);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.IO.Packaging {
-
- public class PackageRelationship
- {
- internal PackageRelationship (string id, Package package, string relationshipType,
- Uri sourceUri, TargetMode targetMode, Uri targetUri)
- {
- Check.IdIsValid (id);
- Check.Package (package);
- Check.RelationshipTypeIsValid (relationshipType);
- Check.SourceUri (sourceUri);
- Check.TargetUri (targetUri);
-
- Id = id;
- Package = package;
- RelationshipType = relationshipType;
- SourceUri = sourceUri;
- TargetMode = targetMode;
- TargetUri = targetUri;
- }
-
- public string Id {
- get; private set;
- }
- public Package Package {
- get; private set;
- }
- public string RelationshipType {
- get; private set;
- }
- public Uri SourceUri {
- get; private set;
- }
- public TargetMode TargetMode {
- get; private set;
- }
- public Uri TargetUri {
- get; private set;
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging {
-
- public class PackageRelationshipCollection : IEnumerable<PackageRelationship>, IEnumerable
- {
- internal List<PackageRelationship> Relationships { get; private set; }
-
- internal PackageRelationshipCollection ()
- {
- Relationships = new List<PackageRelationship> ();
- }
-
- public IEnumerator<PackageRelationship> GetEnumerator ()
- {
- return Relationships.GetEnumerator ();
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging {
- public sealed class PackageRelationshipSelector {
- public PackageRelationshipSelector (Uri sourceUri, PackageRelationshipSelectorType selectorType, string selectionCriteria)
- {
- throw new NotImplementedException ();
- }
-
- public string SelectionCriteria {
- get { throw new NotImplementedException (); }
- }
-
- public PackageRelationshipSelectorType SelectorType {
- get { throw new NotImplementedException (); }
- }
-
- public Uri SourceUri {
- get { throw new NotImplementedException (); }
- }
-
- public List<PackageRelationship> Select(Package package)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum PackageRelationshipSelectorType {
- Id,
- Type
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Security.RightsManagement;
-
-namespace System.IO.Packaging {
-
- public class RightsManagementInformation
- {
- internal RightsManagementInformation ()
- {
- }
-
- public CryptoProvider CryptoProvider {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public void DeleteUseLicense (ContentUser userKey)
- {
- throw new NotImplementedException ();
- }
-
- public IDictionary<ContentUser, UseLicense> GetEmbeddedUseLicenses()
- {
- throw new NotImplementedException ();
- }
-
- public PublishLicense LoadPublishLicense ()
- {
- throw new NotImplementedException ();
- }
-
- public UseLicense LoadUseLicense (ContentUser userKey)
- {
- throw new NotImplementedException ();
- }
-
- public void SavePublishLicense (PublishLicense publishLicense)
- {
- throw new NotImplementedException ();
- }
-
- public void SaveUseLicense (ContentUser userKey, UseLicense useLicense)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.IO.Packaging {
-
- public class SignatureVerificationEventArgs : EventArgs
- {
- internal SignatureVerificationEventArgs ()
- {
- }
-
- public PackageDigitalSignature Signature {
- get { throw new NotImplementedException (); }
- }
-
- public VerifyResult VerifyResult {
- get { throw new NotImplementedException (); }
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.IO.Packaging {
-
- public class StorageInfo
- {
- internal StorageInfo ()
- {
- throw new NotImplementedException ();
- }
-
- public string Name {
- get { throw new NotImplementedException (); }
- }
-
- public StreamInfo CreateStream (string name)
- {
- throw new NotImplementedException ();
- }
-
- public StreamInfo CreateStream (string name, CompressionOption compressionOption, EncryptionOption encryptionOption)
- {
- throw new NotImplementedException ();
- }
-
- public StorageInfo CreateSubStorage (string name)
- {
- throw new NotImplementedException ();
- }
-
- public void DeleteStream (string name)
- {
- throw new NotImplementedException ();
- }
-
- public void DeleteSubStorage (string name)
- {
- throw new NotImplementedException ();
- }
-
- public StreamInfo GetStreamInfo (string name)
- {
- throw new NotImplementedException ();
- }
-
- public StreamInfo[] GetStreams ()
- {
- throw new NotImplementedException ();
- }
-
- public StorageInfo GetSubStorageInfo (string name)
- {
- throw new NotImplementedException ();
- }
-
- public StorageInfo[] GetSubStorages ()
- {
- throw new NotImplementedException ();
- }
-
- public bool StreamExists (string name)
- {
- throw new NotImplementedException ();
- }
-
- public bool SubStorageExists (string name)
- {
- throw new NotImplementedException ();
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.IO;
-
-namespace System.IO.Packaging {
-
- public class StreamInfo
- {
- internal StreamInfo ()
- {
- }
-
- public CompressionOption CompressionOption {
- get { throw new NotImplementedException (); }
- }
-
- public EncryptionOption EncryptionOption {
- get { throw new NotImplementedException (); }
- }
-
- public string Name {
- get { throw new NotImplementedException (); }
- }
-
- public Stream GetStream ()
- {
- throw new NotImplementedException ();
- }
-
- public Stream GetStream (FileMode mode)
- {
- throw new NotImplementedException ();
- }
-
- public Stream GetStream (FileMode mode, FileAccess access)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum TargetMode {
- Internal,
- External
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.IO.Packaging {
-
- public enum VerifyResult {
- Success,
-
- InvalidSignature,
- CertificateRequired,
- InvalidCertificate,
- ReferenceNotFound,
- NotSigned
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Xml;
-using zipsharp;
-
-namespace System.IO.Packaging {
-
- class UriComparer : IEqualityComparer<Uri>
- {
- public int GetHashCode(Uri uri)
- {
- return 1;
- }
-
- public bool Equals(Uri x, Uri y)
- {
- return x.OriginalString.Equals (y.OriginalString, StringComparison.OrdinalIgnoreCase);
- }
- }
-
- public sealed class ZipPackage : Package
- {
- private const string ContentNamespace = "http://schemas.openxmlformats.org/package/2006/content-types";
- private const string ContentUri = "[Content_Types].xml";
-
- Dictionary<Uri, ZipPackagePart> parts;
- internal Dictionary<Uri, MemoryStream> PartStreams = new Dictionary<Uri, MemoryStream> (new UriComparer());
-
- internal Stream PackageStream { get; set; }
-
- Dictionary<Uri, ZipPackagePart> Parts {
- get {
- if (parts == null)
- LoadParts ();
- return parts;
- }
- }
-
- internal ZipPackage (FileAccess access, Stream stream)
- : base (access)
- {
- PackageStream = stream;
- }
-
- internal ZipPackage (FileAccess access, Stream stream, bool streaming)
- : base (access, streaming)
- {
- PackageStream = stream;
- }
-
- protected override void Dispose (bool disposing)
- {
- foreach (Stream s in PartStreams.Values)
- s.Close ();
-
- PackageStream.Close ();
- }
-
- protected override void FlushCore ()
- {
- // Ensure that all the data has been read out of the package
- // stream already. Otherwise we'll lose data when we recreate the zip
- foreach (ZipPackagePart part in Parts.Values)
- part.GetStream ().Dispose ();
-
- // Empty the package stream
- PackageStream.Position = 0;
- PackageStream.SetLength (0);
-
- // Recreate the zip file
- using (ZipArchive archive = new ZipArchive(PackageStream, Append.Create, false)) {
-
- // Write all the part streams
- foreach (ZipPackagePart part in Parts.Values) {
- Stream partStream = part.GetStream ();
- partStream.Seek (0, SeekOrigin.Begin);
-
- using (Stream destination = archive.GetStream (part.Uri.ToString ().Substring(1))) {
- int count = (int) Math.Min (2048, partStream.Length);
- byte[] buffer = new byte [count];
-
- while ((count = partStream.Read (buffer, 0, buffer.Length)) != 0)
- destination.Write (buffer, 0, count);
- }
- }
-
- using (Stream s = archive.GetStream (ContentUri))
- WriteContentType (s);
- }
- }
-
- protected override PackagePart CreatePartCore (Uri partUri, string contentType, CompressionOption compressionOption)
- {
- ZipPackagePart part = new ZipPackagePart (this, partUri, contentType, compressionOption);
- Parts.Add (part.Uri, part);
- return part;
- }
-
- protected override void DeletePartCore (Uri partUri)
- {
- Parts.Remove (partUri);
- }
-
- protected override PackagePart GetPartCore (Uri partUri)
- {
- ZipPackagePart part;
- Parts.TryGetValue (partUri, out part);
- return part;
- }
-
- protected override PackagePart[] GetPartsCore ()
- {
- ZipPackagePart[] p = new ZipPackagePart [Parts.Count];
- Parts.Values.CopyTo (p, 0);
- return p;
- }
-
- void LoadParts ()
- {
- parts = new Dictionary<Uri, ZipPackagePart> (new UriComparer());
- try {
- using (UnzipArchive archive = new UnzipArchive (PackageStream)) {
-
- // Load the content type map file
- XmlDocument doc = new XmlDocument ();
- using (Stream s = archive.GetStream (ContentUri))
- doc.Load (s);
-
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("content", ContentNamespace);
-
- foreach (string file in archive.GetFiles ()) {
- XmlNode node;
-
- if (file == RelationshipUri.ToString ().Substring (1))
- {
- // FIXME: I shouldn't use CompressionOption.NotCompressed - i should read it from the zip archive
- CreatePartCore (RelationshipUri, RelationshipContentType, CompressionOption.NotCompressed);
- continue;
- }
-
- string xPath = string.Format ("/content:Types/content:Override[@PartName='{0}']", file);
- node = doc.SelectSingleNode (xPath, manager);
-
- if (node == null)
- {
- string ext = Path.GetExtension (file);
- if (ext.StartsWith("."))
- ext = ext.Substring (1);
- xPath = string.Format("/content:Types/content:Default[@Extension='{0}']", ext);
- node = doc.SelectSingleNode (xPath, manager);
- }
-
- // What do i do if the node is null? This means some has tampered with the
- // package file manually
-
- // FIXME: I shouldn't use CompressionOption.NotCompressed - i should read it from the zip archive
- if (node != null)
- CreatePartCore (new Uri ("/" + file, UriKind.Relative), node.Attributes["ContentType"].Value, CompressionOption.NotCompressed);
- }
- }
- } catch {
- // The archive is invalid - therefore no parts
- }
- }
-
- void WriteContentType (Stream s)
- {
- XmlDocument doc = new XmlDocument ();
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("content", ContentNamespace);
-
- doc.AppendChild(doc.CreateNode (XmlNodeType.XmlDeclaration, "", ""));
-
- XmlNode root = doc.CreateNode (XmlNodeType.Element, "Types", ContentNamespace);
- doc.AppendChild (root);
- foreach (ZipPackagePart part in Parts.Values)
- {
- XmlNode node = doc.CreateNode (XmlNodeType.Element, "Override", ContentNamespace);
-
- XmlAttribute contentType = doc.CreateAttribute ("ContentType");
- contentType.Value = part.ContentType;
-
- XmlAttribute name = doc.CreateAttribute ("PartName");
- name.Value = part.Uri.ToString ().Substring(1);
-
-
- node.Attributes.Append (contentType);
- node.Attributes.Append (name);
-
- root.AppendChild (node);
- }
-
- using (XmlTextWriter writer = new XmlTextWriter (s, System.Text.Encoding.UTF8))
- doc.WriteTo (writer);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.IO;
-using zipsharp;
-
-namespace System.IO.Packaging {
-
- public sealed class ZipPackagePart : PackagePart
- {
- new ZipPackage Package {
- get { return (ZipPackage)base.Package; }
- }
-
- internal ZipPackagePart (Package package, Uri partUri)
- : base (package, partUri)
- {
-
- }
-
- internal ZipPackagePart (Package package, Uri partUri, string contentType)
- : base (package, partUri, contentType)
- {
-
- }
-
- internal ZipPackagePart (Package package, Uri partUri, string contentType, CompressionOption compressionOption )
- : base (package, partUri, contentType, compressionOption)
- {
-
- }
-
- protected override Stream GetStreamCore (FileMode mode, FileAccess access)
- {
- ZipPartStream zps;
- MemoryStream stream;
- if (Package.PartStreams.TryGetValue (Uri, out stream))
- return new ZipPartStream (Package, stream, access);
-
- stream = new MemoryStream ();
-
- try
- {
- using (UnzipArchive archive = new UnzipArchive (Package.PackageStream)) {
- foreach (string file in archive.GetFiles ()) {
- if (file != Uri.ToString ().Substring (1))
- continue;
-
- using (Stream archiveStream = archive.GetStream (file)) {
- int read = 0;
- byte[] buffer = new byte [Math.Min (archiveStream.Length, 2 * 1024)];
- while ((read = archiveStream.Read (buffer, 0, buffer.Length)) != 0)
- stream.Write (buffer, 0, read);
- }
- }
- }
- }
- catch
- {
- // The zipfile is invalid, so just create the file
- // as if it didn't exist
- stream.SetLength (0);
- }
-
- Package.PartStreams.Add (Uri, stream);
- return new ZipPartStream (Package, stream, access);
- }
- }
-
-}
+++ /dev/null
-// ZipPartStream.cs created with MonoDevelop
-// User: alan at 13:13 23/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.IO;
-using zipsharp;
-
-namespace System.IO.Packaging
-{
- internal class ZipPartStream : Stream
- {
- public MemoryStream BaseStream { get; private set; }
- public ZipPackage Package { get; private set; }
-
- public override bool CanRead {
- get {
- return BaseStream.CanRead;
- }
- }
-
- public override bool CanSeek {
- get {
- return BaseStream.CanSeek;
- }
- }
-
- public override bool CanTimeout {
- get { return BaseStream.CanTimeout; }
- }
-
- public override bool CanWrite {
- get { return Writeable; }
- }
-
- public override long Length {
- get { return BaseStream.Length; }
- }
-
- public override long Position {
- get; set;
- }
-
- public bool Writeable {
- get; set;
- }
-
- public override int WriteTimeout {
- get {
- return BaseStream.WriteTimeout;
- }
- set {
- BaseStream.WriteTimeout = value;
- }
- }
-
- public override int ReadTimeout {
- get {
- return BaseStream.ReadTimeout;
- }
- set {
- BaseStream.ReadTimeout = value;
- }
- }
-
- public ZipPartStream (ZipPackage package, MemoryStream stream, FileAccess access)
- {
- BaseStream = stream;
- Package = package;
- Writeable = access != FileAccess.Read;
- }
-
- public override void Flush ()
- {
- // If the user flushes any of the part streams,
- // we need to flush the entire package
-
- // FIXME: Ensure that this actually happens with a testcase
- // ...if possible
- Package.Flush ();
- }
-
- public override int Read (byte[] buffer, int offset, int count)
- {
- Seek (Position, SeekOrigin.Begin);
- int read = BaseStream.Read (buffer, offset, count);
- Position += read;
- return read;
- }
-
- public override long Seek (long offset, SeekOrigin origin)
- {
- Position = BaseStream.Seek (offset, origin);
- return Position;
- }
-
- public override void SetLength (long value)
- {
- if (!CanWrite)
- throw new InvalidOperationException ("Stream is not writeable");
-
- BaseStream.SetLength (value);
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- if (!CanWrite)
- throw new InvalidOperationException ("Stream is not writeable");
-
- Seek (Position, SeekOrigin.Begin);
- BaseStream.Write (buffer, offset, count);
- Position += count;
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Miguel de Icaza (miguel@ximian.com)
-//
-
-using System;
-using System.Runtime.Serialization;
-using System.Security;
-
-namespace System.IO {
-
- [Serializable]
- public class FileFormatException : FormatException, ISerializable
- {
- Uri source_uri;
-
- public FileFormatException () : base ()
- {
- }
-
- public FileFormatException (string message) : base (message)
- {
- }
-
- public FileFormatException (Uri sourceUri)
- {
- this.source_uri = sourceUri;
- }
-
- protected FileFormatException (SerializationInfo info, StreamingContext context)
- : base (info, context)
- {
- if (info == null)
- throw new ArgumentNullException ("info");
-
- source_uri = (Uri) info.GetValue ("sourceUri", typeof (Uri));
- }
-
- public FileFormatException (string message, Exception innerException)
- : base (message, innerException)
- {
- }
-
- public FileFormatException (Uri sourceUri, Exception innerException)
- : base ("", innerException)
- {
- source_uri = sourceUri;
- }
-
- public FileFormatException (Uri sourceUri, string message)
- : base (message)
- {
- source_uri = sourceUri;
- }
-
- public FileFormatException (Uri sourceUri, string message, Exception innerException)
- : base (message, innerException)
- {
- source_uri = sourceUri;
- }
-
- public Uri SourceUri {
- get { return source_uri; }
- }
-
- [SecurityCritical]
- public override void GetObjectData (SerializationInfo info, StreamingContext context)
- {
- base.GetObjectData (info, context);
- info.AddValue ("sourceUri", source_uri);
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.Permissions {
-
- public class MediaPermission : CodeAccessPermission, IUnrestrictedPermission
- {
- public MediaPermission ()
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermission (MediaPermissionAudio permissionAudio)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermission (MediaPermissionImage permissionImage)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermission (MediaPermissionVideo permissionVideo)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermission (PermissionState state)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermission (MediaPermissionAudio permissionAudio, MediaPermissionVideo permissionVideo, MediaPermissionImage permissionImage)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermissionAudio Audio {
- get { throw new NotImplementedException (); }
- }
-
- public MediaPermissionVideo Video {
- get { throw new NotImplementedException (); }
- }
-
- public MediaPermissionImage Image {
- get { throw new NotImplementedException (); }
- }
-
- public override IPermission Copy ()
- {
- throw new NotImplementedException ();
- }
-
- public override void FromXml (SecurityElement securityElement)
- {
- throw new NotImplementedException ();
- }
-
- public override IPermission Intersect (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- public override bool IsSubsetOf (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- public bool IsUnrestricted ()
- {
- throw new NotImplementedException ();
- }
-
- public override SecurityElement ToXml ()
- {
- throw new NotImplementedException ();
- }
-
- public override IPermission Union (IPermission target)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.Permissions {
-
- public class MediaPermissionAttribute : CodeAccessSecurityAttribute
- {
- public MediaPermissionAttribute (SecurityAction action)
- : base (action)
- {
- throw new NotImplementedException ();
- }
-
- public MediaPermissionAudio Audio {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public MediaPermissionVideo Video {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public MediaPermissionImage Image {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public override IPermission CreatePermission ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.Permissions {
-
- public enum MediaPermissionAudio {
- NoAudio,
- SiteOfOriginAudio,
- SafeAudio,
- AllAudio
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.Permissions {
-
- public enum MediaPermissionImage {
- NoImage,
- SiteOfOriginImage,
- SafeImage,
- AllImage
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.Permissions {
-
- public enum MediaPermissionVideo {
- NoVideo,
- SiteOfOriginVideo,
- SafeVideo,
- AllVideo
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.Permissions {
-
- public sealed class WebBrowserPermission : CodeAccessPermission, IUnrestrictedPermission
- {
- public WebBrowserPermission ()
- {
- throw new NotImplementedException ();
- }
-
- public WebBrowserPermission (PermissionState state)
- {
- throw new NotImplementedException ();
- }
-
- public WebBrowserPermission (WebBrowserPermissionLevel webBrowserPermissionLevel)
- {
- throw new NotImplementedException ();
- }
-
- public WebBrowserPermissionLevel Level {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public override IPermission Copy ()
- {
- throw new NotImplementedException ();
- }
-
- public override void FromXml (SecurityElement securityElement)
- {
- throw new NotImplementedException ();
- }
-
- public override IPermission Intersect (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- public override bool IsSubsetOf (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- public bool IsUnrestricted ()
- {
- throw new NotImplementedException ();
- }
-
- public override SecurityElement ToXml ()
- {
- throw new NotImplementedException ();
- }
-
- public override IPermission Union (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.Permissions {
-
- public sealed class WebBrowserPermissionAttribute : CodeAccessSecurityAttribute
- {
- public WebBrowserPermissionAttribute (SecurityAction action)
- : base (action)
- {
- throw new NotImplementedException ();
- }
-
- public WebBrowserPermissionLevel Level {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public override IPermission CreatePermission ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.Permissions {
-
- public enum WebBrowserPermissionLevel {
- None,
- Safe,
- Unrestricted
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.RightsManagement {
-
- public enum AuthenticationType {
- Windows,
- Passport,
- WindowsPassport,
- Internal
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class ContentGrant
- {
- public ContentGrant (ContentUser user, ContentRight right)
- {
- throw new NotImplementedException ();
- }
-
- public ContentGrant (ContentUser user, ContentRight right, DateTime validFrom, DateTime validUntil)
- {
- throw new NotImplementedException ();
- }
-
- public ContentRight Right {
- get { throw new NotImplementedException (); }
- }
-
- public ContentUser User {
- get { throw new NotImplementedException (); }
- }
-
- public DateTime ValidFrom {
- get { throw new NotImplementedException (); }
- }
-
- public DateTime ValidUntil {
- get { throw new NotImplementedException (); }
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.RightsManagement {
-
- public enum ContentRight {
- View,
- Edit,
- Print,
- Extract,
- ObjectModel,
- Owner,
- ViewRightsData,
- Forward,
- Reply,
- ReplyAll,
- Sign,
- DocumentEdit,
- Export
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class ContentUser
- {
- public ContentUser (string name, AuthenticationType authenticationType)
- {
- throw new NotImplementedException ();
- }
-
- public static ContentUser AnyoneUser {
- get { throw new NotImplementedException (); }
- }
-
- public AuthenticationType AuthenticationType {
- get { throw new NotImplementedException (); }
- }
-
- public string Name {
- get { throw new NotImplementedException (); }
- }
-
- public static ContentUser OwnerUser {
- get { throw new NotImplementedException (); }
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public bool IsAuthenticated ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-using System.Collections.ObjectModel;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class CryptoProvider : IDisposable
- {
- internal CryptoProvider ()
- {
- }
-
- ~CryptoProvider ()
- {
- }
-
- public int BlockSize {
- get { throw new NotImplementedException (); }
- }
-
- public ReadOnlyCollection<ContentGrant> BoundGrants {
- get { throw new NotImplementedException (); }
- }
-
- public bool CanDecrypt {
- get { throw new NotImplementedException (); }
- }
-
- public bool CanEncrypt {
- get { throw new NotImplementedException (); }
- }
-
- public bool CanMergeBlocks {
- get { throw new NotImplementedException (); }
- }
-
- public byte[] Decrypt (byte[] cryptoText)
- {
- throw new NotImplementedException ();
- }
-
- public byte[] Encrypt (byte[] clearText)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void Dispose (bool disposing)
- {
- throw new NotImplementedException ();
- }
-
- public void Dispose ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class LocalizedNameDescriptionPair
- {
- public LocalizedNameDescriptionPair (string name, string description)
- {
- throw new NotImplementedException ();
- }
-
- public string Name {
- get { throw new NotImplementedException (); }
- }
-
- public string Description {
- get { throw new NotImplementedException (); }
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class PublishLicense
- {
- public PublishLicense (string signedPublishLicense)
- {
- throw new NotImplementedException ();
- }
-
- public Guid ContentId {
- get { throw new NotImplementedException (); }
-
- }
-
- public string ReferralInfoName {
- get { throw new NotImplementedException (); }
- }
-
- public Uri ReferralInfoUri {
- get { throw new NotImplementedException (); }
- }
-
- public Uri UseLicenseAcquisitionUrl {
- get { throw new NotImplementedException (); }
- }
-
- public UseLicense AcquireUseLicense (SecureEnvironment secureEnvironment)
- {
- throw new NotImplementedException ();
- }
-
- public UseLicense AcquireUseLicenseNoUI (SecureEnvironment secureEnvironment)
- {
- throw new NotImplementedException ();
- }
-
- public UnsignedPublishLicense DecryptUnsignedPublishLicense (CryptoProvider cryptoProvider)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Runtime.Serialization;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [Serializable]
- public class RightsManagementException : Exception
- {
- public RightsManagementException ()
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (RightsManagementFailureCode failureCode)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (string message)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (RightsManagementFailureCode failureCode, Exception innerException)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (RightsManagementFailureCode failureCode, string message)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (string message, Exception innerException)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementException (RightsManagementFailureCode failureCode, string message, Exception innerException)
- {
- throw new NotImplementedException ();
- }
-
- protected RightsManagementException (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
-
- public RightsManagementFailureCode FailureCode {
- get { throw new NotImplementedException (); }
- }
-
- [SecurityCritical]
- public override void GetObjectData (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Security.RightsManagement {
-
- public enum RightsManagementFailureCode
- {
- ManifestPolicyViolation = -2147183860,
-
- InvalidLicense = -2147168512,
- InfoNotInLicense,
- InvalidLicenseSignature,
-
- EncryptionNotPermitted = -2147168508,
- RightNotGranted,
- InvalidVersion,
- InvalidEncodingType,
- InvalidNumericalValue,
- InvalidAlgorithmType,
- EnvironmentNotLoaded,
- EnvironmentCannotLoad,
- TooManyLoadedEnvironments,
-
- IncompatibleObjects = -2147168498,
- LibraryFail,
- EnablingPrincipalFailure,
- InfoNotPresent,
- BadGetInfoQuery,
- KeyTypeUnsupported,
- CryptoOperationUnsupported,
- ClockRollbackDetected,
- QueryReportsNoResults,
- UnexpectedException,
- BindValidityTimeViolated,
- BrokenCertChain,
-
- BindPolicyViolation = -2147168485,
- BindRevokedLicense,
- BindRevokedIssuer,
- BindRevokedPrincipal,
- BindRevokedResource,
- BindRevokedModule,
- BindContentNotInEndUseLicense,
- BindAccessPrincipalNotEnabling,
- BindAccessUnsatisfied,
- BindIndicatedPrincipalMissing,
- BindMachineNotFoundInGroupIdentity,
- LibraryUnsupportedPlugIn,
- BindRevocationListStale,
- BindNoApplicableRevocationList,
-
- InvalidHandle = -2147168468,
-
- BindIntervalTimeViolated = -2147168465,
- BindNoSatisfiedRightsGroup,
- BindSpecifiedWorkMissing,
-
- NoMoreData = -2147168461,
- LicenseAcquisitionFailed,
- IdMismatch,
- TooManyCertificates,
- NoDistributionPointUrlFound,
- AlreadyInProgress,
- GroupIdentityNotSet,
- RecordNotFound,
- NoConnect,
- NoLicense,
- NeedsMachineActivation,
- NeedsGroupIdentityActivation,
-
- ActivationFailed = -2147168448,
- Aborted,
- OutOfQuota,
- AuthenticationFailed,
- ServerError,
- InstallationFailed,
- HidCorrupted,
- InvalidServerResponse,
- ServiceNotFound,
- UseDefault,
- ServerNotFound,
- InvalidEmail,
- ValidityTimeViolation,
- OutdatedModule,
- NotSet,
- MetadataNotSet,
- RevocationInfoNotSet,
- InvalidTimeInfo,
- RightNotSet,
- LicenseBindingToWindowsIdentityFailed,
- InvalidIssuanceLicenseTemplate,
- InvalidKeyLength,
-
- ExpiredOfficialIssuanceLicenseTemplate = -2147168425,
- InvalidClientLicensorCertificate,
- HidInvalid,
- EmailNotVerified,
- ServiceMoved,
- ServiceGone,
- AdEntryNotFound,
- NotAChain,
- RequestDenied,
- DebuggerDetected,
-
- InvalidLockboxType = -2147168400,
- InvalidLockboxPath,
- InvalidRegistryPath,
- NoAesCryptoProvider,
- GlobalOptionAlreadySet,
- OwnerLicenseNotFound,
-
- Success = 0
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.ObjectModel;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class SecureEnvironment : IDisposable
- {
- internal SecureEnvironment ()
- {
- throw new NotImplementedException ();
- }
-
- public string ApplicationManifest {
- get { throw new NotImplementedException (); }
- }
-
- public ContentUser User {
- get { throw new NotImplementedException (); }
- }
-
- public static SecureEnvironment Create (string applicationManifest, ContentUser user)
- {
- throw new NotImplementedException ();
- }
-
- public static SecureEnvironment Create (string applicationManifest, AuthenticationType authentication, UserActivationMode userActivationMode)
- {
- throw new NotImplementedException ();
- }
-
- public void Dispose ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void Dispose (bool disposing)
- {
- throw new NotImplementedException ();
- }
-
- public static ReadOnlyCollection<ContentUser> GetActivatedUsers ()
- {
- throw new NotImplementedException ();
- }
-
- public static bool IsUserActivated (ContentUser user)
- {
- throw new NotImplementedException ();
- }
-
- public static void RemoveActivatedUser (ContentUser user)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class UnsignedPublishLicense
- {
- public UnsignedPublishLicense ()
- {
- throw new NotImplementedException ();
- }
-
- public UnsignedPublishLicense (string publishLicenseTemplate)
- {
- throw new NotImplementedException ();
- }
-
- public Guid ContentId {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public ICollection<ContentGrant> Grants {
- get { throw new NotImplementedException (); }
- }
-
- public IDictionary<int, LocalizedNameDescriptionPair> LocalizedNameDescriptionDictionary {
- get { throw new NotImplementedException (); }
- }
-
- public ContentUser Owner {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public string ReferralInfoName {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public Uri ReferralInfoUri {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public PublishLicense Sign (SecureEnvironment secureEnvironment, out UseLicense authorUseLicense)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.Security;
-
-namespace System.Security.RightsManagement {
-
- [SecurityCritical (SecurityCriticalScope.Everything)]
- public class UseLicense
- {
- public UseLicense (string useLicense)
- {
- throw new NotImplementedException ();
- }
-
- public IDictionary<string, string> ApplicationData {
- get { throw new NotImplementedException (); }
- }
-
- public Guid ContentId {
- get { throw new NotImplementedException (); }
- }
-
- public ContentUser Owner {
- get { throw new NotImplementedException (); }
- }
-
- public CryptoProvider Bind (SecureEnvironment secureEnvironment)
- {
- throw new NotImplementedException ();
- }
-
- public override bool Equals (object x)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- throw new NotImplementedException ();
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Security.RightsManagement {
-
- public enum UserActivationMode {
- Permanent,
- Temporary
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Converters {
-
- public class Int32RectValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Converters {
-
- public class PointValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Converters {
-
- public class RectValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Converters {
-
- public class SizeValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Converters {
-
- public class VectorValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Threading;
-
-namespace System.Windows.Data {
-
- public abstract class DataSourceProvider : INotifyPropertyChanged, ISupportInitialize
- {
- protected DataSourceProvider ()
- {
- throw new NotImplementedException ();
- }
-
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
- public object Data {
- get { throw new NotImplementedException (); }
- }
-
- protected Dispatcher Dispatcher {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- public Exception Error {
- get { throw new NotImplementedException (); }
- }
-
- [DefaultValue (true)]
- public bool IsInitialLoadEnabled {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- protected bool IsRefreshDeferred {
- get { throw new NotImplementedException (); }
- }
-
- public event EventHandler DataChanged;
-
- protected virtual event PropertyChangedEventHandler PropertyChanged;
-
- event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
- add { PropertyChanged += value; }
- remove { PropertyChanged -= value; }
- }
-
- protected virtual void BeginInit ()
- {
- throw new NotImplementedException ();
- }
- void ISupportInitialize.BeginInit ()
- {
- BeginInit ();
- }
-
- protected virtual void EndInit ()
- {
- throw new NotImplementedException ();
- }
- void ISupportInitialize.EndInit ()
- {
- EndInit ();
- }
-
- protected virtual void BeginQuery ()
- {
- throw new NotImplementedException ();
- }
-
- public virtual IDisposable DeferRefresh ()
- {
- throw new NotImplementedException ();
- }
-
- public void InitialLoad ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void OnPropertyChanged (PropertyChangedEventArgs e)
- {
- throw new NotImplementedException ();
- }
-
- protected void OnQueryFinished (object newData)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void OnQueryFinished (object newData, Exception error, DispatcherOperationCallback completionWork, object callbackArguments)
- {
- throw new NotImplementedException ();
- }
-
- public void Refresh ()
- {
- throw new NotImplementedException ();
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-//
-
-using System;
-
-namespace System.Windows.Input {
-
- public enum FocusNavigationDirection
- {
- Next,
- Previous,
- First,
- Last,
- Left,
- Right,
- Up,
- Down
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Markup;
-
-namespace System.Windows.Input {
-
- [ValueSerializer (typeof (KeyValueSerializer))]
- [TypeConverter (typeof (KeyConverter))]
- public enum Key
- {
- None,
- Cancel,
- Back,
- Tab,
- LineFeed,
- Clear,
- Return,
- Enter = Return,
- Pause,
- CapsLock,
- Capital = CapsLock,
- HangulMode,
- KanaMode = HangulMode,
- JunjaMode,
- FinalMode,
- KanjiMode,
- HanjaMode = KanjiMode,
- Escape,
- ImeConvert,
- ImeNonConvert,
- ImeAccept,
- ImeModeChange,
- Space,
- PageUp,
- Prior = PageUp,
- PageDown,
- Next = PageDown,
- End,
- Home,
- Left,
- Up,
- Right,
- Down,
- Select,
- Print,
- Execute,
- PrintScreen,
- Snapshot = PrintScreen,
- Insert,
- Delete,
- Help,
- D0,
- D1,
- D2,
- D3,
- D4,
- D5,
- D6,
- D7,
- D8,
- D9,
- A,
- B,
- C,
- D,
- E,
- F,
- G,
- H,
- I,
- J,
- K,
- L,
- M,
- N,
- O,
- P,
- Q,
- R,
- S,
- T,
- U,
- V,
- W,
- X,
- Y,
- Z,
- LWin,
- RWin,
- Apps,
- Sleep,
- NumPad0,
- NumPad1,
- NumPad2,
- NumPad3,
- NumPad4,
- NumPad5,
- NumPad6,
- NumPad7,
- NumPad8,
- NumPad9,
- Multiply,
- Add,
- Separator,
- Subtract,
- Decimal,
- Divide,
- F1,
- F2,
- F3,
- F4,
- F5,
- F6,
- F7,
- F8,
- F9,
- F10,
- F11,
- F12,
- F13,
- F14,
- F15,
- F16,
- F17,
- F18,
- F19,
- F20,
- F21,
- F22,
- F23,
- F24,
- NumLock,
- Scroll,
- LeftShift,
- RightShift,
- LeftCtrl,
- RightCtrl,
- LeftAlt,
- RightAlt,
- BrowserBack,
- BrowserForward,
- BrowserRefresh,
- BrowserStop,
- BrowserSearch,
- BrowserFavorites,
- BrowserHome,
- VolumeMute,
- VolumeDown,
- VolumeUp,
- MediaNextTrack,
- MediaPreviousTrack,
- MediaStop,
- MediaPlayPause,
- LaunchMail,
- SelectMedia,
- LaunchApplication1,
- LaunchApplication2,
- Oem1,
- OemSemicolon = Oem1,
- OemPlus,
- OemComma,
- OemMinus,
- OemPeriod,
- Oem2,
- OemQuestion = Oem2,
- Oem3,
- OemTilde = Oem3,
- AbntC1,
- AbntC2,
- Oem4,
- OemOpenBrackets = Oem4,
- Oem5,
- OemPipe = Oem5,
- Oem6,
- OemCloseBrackets = Oem6,
- Oem7,
- OemQuotes = Oem7,
- Oem8,
- Oem102,
- OemBackslash = Oem102,
- ImeProcessed,
- System,
- OemAttn,
- DbeAlphanumeric = OemAttn,
- OemFinish,
- DbeKatakana = OemFinish,
- OemCopy,
- DbeHiragana = OemCopy,
- OemAuto,
- DbeSbcsChar = OemAuto,
- OemEnlw,
- DbeDbcsChar = OemEnlw,
- OemBackTab,
- DbeRoman = OemBackTab,
- Attn,
- DbeNoRoman = Attn,
- CrSel,
- DbeEnterWordRegisterMode = CrSel,
- ExSel,
- DbeEnterImeConfigureMode = ExSel,
- EraseEof,
- DbeFlushString = EraseEof,
- Play,
- DbeCodeInput = Play,
- Zoom,
- DbeNoCodeInput = Zoom,
- NoName,
- DbeDetermineString = NoName,
- Pa1,
- DbeEnterDialogConversionMode = Pa1,
- OemClear
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows.Input {
-
- public class KeyConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Input {
-
- public static class KeyInterop
- {
- public static Key KeyFromVirtualKey (int virtualKey)
- {
- throw new NotImplementedException ();
- }
-
- public static int VirtualKeyFromKey (Key key)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Input {
-
- public class KeyValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Markup;
-
-namespace System.Windows.Input {
-
- [Flags]
- [ValueSerializer (typeof (ModifierKeysValueSerializer))]
- [TypeConverter (typeof (ModifierKeysConverter))]
- public enum ModifierKeys {
- None = 0,
- Alt = 1,
- Control = 2,
- Shift = 4,
- Windows = 8
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows.Input {
-
- public class ModifierKeysConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public static bool IsDefinedModifierKeys (ModifierKeys modifierKeys)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Input {
-
- public class ModifierKeysValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-//
-
-using System;
-
-namespace System.Windows.Input {
-
- public class TraversalRequest
- {
- bool wrapped;
- FocusNavigationDirection focusNavigationDirection;
-
- public TraversalRequest (FocusNavigationDirection focusNavigationDirection)
- {
- this.focusNavigationDirection = focusNavigationDirection;
- }
-
- public FocusNavigationDirection FocusNavigationDirection {
- get { return focusNavigationDirection; }
- }
-
- public bool Wrapped {
- get { return wrapped; }
- set { wrapped = value; }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Windows.Interop {
-
- public static class ComponentDispatcher
- {
- public static MSG CurrentKeyboardMessage {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- }
-
- public static bool IsThreadModal {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- }
-
- public static event EventHandler EnterThreadModal;
- public static event EventHandler LeaveThreadModal;
- public static event ThreadMessageEventHandler ThreadFilterMessage;
- public static event EventHandler ThreadIdle;
- public static event ThreadMessageEventHandler ThreadPreprocessMessage;
-
- [SecurityCritical]
- public static void PopModal()
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public static void PushModal()
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public static void RaiseIdle()
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public static bool RaiseThreadMessage (ref MSG msg)
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-using System.Windows.Input;
-
-namespace System.Windows.Interop {
-
- public interface IKeyboardInputSink
- {
- IKeyboardInputSite KeyboardInputSite {
- get;
- [SecurityCritical]
- set;
- }
-
- bool TabInto (TraversalRequest request);
- bool HasFocusWithin ();
-
- [SecurityCritical]
- bool OnMnemonic (ref MSG msg, ModifierKeys modifiers);
-
- [SecurityCritical]
- IKeyboardInputSite RegisterKeyboardInputSink (IKeyboardInputSink sink);
-
- [SecurityCritical]
- bool TranslateAccelerator (ref MSG msg, ModifierKeys modifiers);
-
- [SecurityCritical]
- bool TranslateChar (ref MSG msg, ModifierKeys modifiers);
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-using System.Windows.Input;
-
-namespace System.Windows.Interop {
-
- public interface IKeyboardInputSite
- {
- IKeyboardInputSink Sink { get; }
-
- bool OnNoMoreTabStops (TraversalRequest request);
-
- [SecurityCritical]
- void Unregister ();
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-
-namespace System.Windows.Interop {
-
- [Serializable]
- public struct MSG
- {
- public IntPtr hwnd {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
-
- public IntPtr lParam {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
-
-
- public IntPtr wParam {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
- public int message {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
-
- public int pt_x {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
-
- public int pt_y {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
-
- public int time {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- [SecurityCritical]
- set { throw new NotImplementedException (); }
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Interop {
-
- public delegate void ThreadMessageEventHandler (ref MSG msg, ref bool handled);
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Markup;
-
-namespace System.Windows.Markup.Primitives {
-
- public abstract class MarkupObject {
- internal MarkupObject ()
- {
- }
-
- public abstract AttributeCollection Attributes { get; }
- public abstract object Instance { get; }
- public abstract Type ObjectType { get; }
-
- public virtual IEnumerable<MarkupProperty> Properties {
- get { throw new NotImplementedException (); }
- }
-
- public abstract void AssignRootContext (IValueSerializerContext context);
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Markup;
-
-namespace System.Windows.Markup.Primitives {
-
- public abstract class MarkupProperty {
- internal MarkupProperty ()
- {
- }
-
- public abstract AttributeCollection Attributes { get; }
- public abstract IEnumerable<MarkupObject> Items { get; }
- public abstract string Name { get; }
- public abstract Type PropertyType { get; }
- public abstract string StringValue { get; }
- public abstract IEnumerable<Type> TypeReferences { get; }
- public abstract object Value { get; }
-
- public virtual DependencyProperty DependencyProperty {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsAttached {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsComposite {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsConstructorArgument {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsContent {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsKey {
- get { throw new NotImplementedException (); }
- }
-
- public virtual bool IsValueAsString {
- get { throw new NotImplementedException (); }
- }
-
- public virtual PropertyDescriptor PropertyDescriptor {
- get { throw new NotImplementedException (); }
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
- public sealed class ConstructorArgumentAttribute : Attribute
- {
- public ConstructorArgumentAttribute (string argumentName)
- {
- this.argumentName = argumentName;
- }
-
- public string ArgumentName {
- get { return argumentName; }
- }
-
- string argumentName;
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class)]
- public sealed class ContentPropertyAttribute : Attribute
- {
- string name;
-
- public ContentPropertyAttribute ()
- {
- }
-
- public ContentPropertyAttribute (string name)
- {
- this.name = name;
- }
-
- public string Name {
- get { return name; }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Property, AllowMultiple = true, Inherited = true)]
- public sealed class ContentWrapperAttribute : Attribute
- {
- public ContentWrapperAttribute (Type contentWrapper)
- {
- this.contentWrapper = contentWrapper;
- }
-
- public Type ContentWrapper {
- get { return contentWrapper; }
- }
-
- public override object TypeId {
- get { return this; }
- }
-
- public override bool Equals (object obj)
- {
- if (obj is ContentWrapperAttribute) {
- if (((ContentWrapperAttribute)obj).ContentWrapper == contentWrapper)
- return true;
- }
-
- return false;
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- Type contentWrapper;
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Globalization;
-
-namespace System.Windows.Markup {
-
- public class DateTimeValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- // seems to return for any value
- return true;
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- if (!(value is DateTime))
- throw new ArgumentException ("Can only convert objects of type 'DateTime'");
-
- return true;
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- if (value == null)
- throw new NotSupportedException ("DateTimeValueSerializer cannot convert from null value.");
- return DateTime.Parse (value);
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- if (value == null)
- throw new NotSupportedException ("Cannot convert null value to string.");
-
- if (!(value is DateTime))
- throw new NotSupportedException ("only objects of type 'DateTime' can be converted.");
-
- return ((DateTime)value).ToString("s", CultureInfo.InvariantCulture);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Property | AttributeTargets.Method, AllowMultiple = true)]
- public sealed class DependsOnAttribute : Attribute
- {
- public DependsOnAttribute (string name)
- {
- this.name = name;
- }
-
- public string Name {
- get { return name; }
- }
-
- public override object TypeId {
- get { return this; }
- }
-
- string name;
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [Flags]
- public enum DesignerSerializationOptions {
- SerializeAsAttribute = 1
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
- public sealed class DesignerSerializationOptionsAttribute : Attribute
- {
- public DesignerSerializationOptionsAttribute (DesignerSerializationOptions designerSerializationOptions)
- {
- this.designerSerializationOptions = designerSerializationOptions;
- }
-
- public DesignerSerializationOptions DesignerSerializationOptions {
- get { return designerSerializationOptions; }
- }
-
- DesignerSerializationOptions designerSerializationOptions;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- public interface IComponentConnector {
- void Connect (int connectionId, object target);
-
- void InitializeComponent ();
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- public interface INameScope {
- object FindName (string name);
-
- void RegisterName (string name, object scopedElement);
- void UnregisterName (string name);
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-
-namespace System.Windows.Markup {
-
- public interface IValueSerializerContext : ITypeDescriptorContext, IServiceProvider {
- ValueSerializer GetValueSerializerFor (PropertyDescriptor descriptor);
- ValueSerializer GetValueSerializerFor (Type type);
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- public interface IXamlTypeResolver {
- Type Resolve (string qualifiedTypeName);
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-using System.Reflection;
-
-namespace System.Windows.Markup {
-
- public abstract class InternalTypeHelper
- {
- protected InternalTypeHelper()
- {
- }
-
- protected internal abstract void AddEventHandler (EventInfo eventInfo, object target, Delegate handler);
- protected internal abstract Delegate CreateDelegate (Type delegateTYpe, object target, string handler);
- protected internal abstract object CreateInstance (Type type, CultureInfo culture);
- protected internal abstract object GetPropertyValue (PropertyInfo propertyInfo, object target, CultureInfo culture);
- protected internal abstract void SetPropertyValue (PropertyInfo propertyInfo, object target, object value, CultureInfo culture);
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- public abstract class MarkupExtension
- {
- protected MarkupExtension ()
- {
- }
-
- public abstract object ProvideValue (IServiceProvider serviceProvider);
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
- public sealed class MarkupExtensionReturnTypeAttribute : Attribute
- {
- public MarkupExtensionReturnTypeAttribute ()
- {
- }
-
- public MarkupExtensionReturnTypeAttribute (Type returnType)
- {
- this.returnType = returnType;
- }
-
- public Type ReturnType {
- get { return returnType; }
- }
-
- Type returnType;
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Assembly)]
- public sealed class RootNamespaceAttribute : Attribute
- {
- public RootNamespaceAttribute (string nameSpace)
- {
- this.nameSpace = nameSpace;
- }
-
- public string Namespace {
- get { return nameSpace; }
- }
-
- string nameSpace;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Assembly)]
- public sealed class RuntimeNamePropertyAttribute : Attribute
- {
- public RuntimeNamePropertyAttribute (string name)
- {
- this.name = name;
- }
-
- public string Name {
- get { return name; }
- }
-
- string name;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-
-namespace System.Windows.Markup {
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- [Browsable (false)]
- public class ServiceProviders : IServiceProvider
- {
- public ServiceProviders ()
- {
- throw new NotImplementedException ();
- }
-
- public void AddService (Type serviceType, object service)
- {
- throw new NotImplementedException ();
- }
-
- public object GetService (Type serviceType)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
- public sealed class TrimSurroundingWhitespaceAttribute : Attribute
- {
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Windows.Converters;
-
-namespace System.Windows.Markup {
-
- // I don't like the idea of hardcoding the types in here, but
- // I'm not sure what else to do about it..
- class DefaultValueSerializerContext : IValueSerializerContext
- {
- public ValueSerializer GetValueSerializerFor (PropertyDescriptor descriptor)
- {
- Attribute attribute = (Attribute)descriptor.Attributes[typeof (ValueSerializerAttribute)];
- if (attribute != null)
- return (ValueSerializer)Activator.CreateInstance (((ValueSerializerAttribute)attribute).ValueSerializerType);
-
- return GetValueSerializerFor (descriptor.PropertyType);
- }
-
- public ValueSerializer GetValueSerializerFor (Type type)
- {
- Attribute attribute = (Attribute)TypeDescriptor.GetAttributes (type)[typeof (ValueSerializerAttribute)];
- if (attribute != null)
- return (ValueSerializer)Activator.CreateInstance (((ValueSerializerAttribute)attribute).ValueSerializerType);
-
- if (typeof (DateTime).IsAssignableFrom (type))
- return new DateTimeValueSerializer();
- else if (typeof (Int32Rect).IsAssignableFrom (type))
- return new Int32RectValueSerializer ();
- else if (typeof (Point).IsAssignableFrom (type))
- return new PointValueSerializer ();
- else if (typeof (Rect).IsAssignableFrom (type))
- return new RectValueSerializer ();
- else if (typeof (Size).IsAssignableFrom (type))
- return new SizeValueSerializer ();
- else if (typeof (Vector).IsAssignableFrom (type))
- return new VectorValueSerializer ();
- else
- return null;
- }
-
- public void OnComponentChanged ()
- {
- }
-
- public bool OnComponentChanging ()
- {
- return false;
- }
-
- public IContainer Container {
- get { return null; }
- }
-
- public object Instance {
- get { return null; }
- }
-
- public PropertyDescriptor PropertyDescriptor {
- get { return null; }
- }
-
- public object GetService (Type serviceType)
- {
- return null;
- }
- }
-
- public abstract class ValueSerializer
- {
- protected ValueSerializer ()
- {
- }
-
- public virtual bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public virtual bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public virtual object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public virtual string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- protected Exception GetConvertFromException (object value)
- {
- throw new NotImplementedException ();
- }
-
- protected Exception GetConvertToException (object value, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public virtual IEnumerable<Type> TypeReferences (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public static ValueSerializer GetSerializerFor (PropertyDescriptor descriptor)
- {
- DefaultValueSerializerContext defaultContext = new DefaultValueSerializerContext();
- return defaultContext.GetValueSerializerFor (descriptor);
- }
-
- public static ValueSerializer GetSerializerFor (Type type)
- {
- DefaultValueSerializerContext defaultContext = new DefaultValueSerializerContext();
- return defaultContext.GetValueSerializerFor (type);
- }
-
- public static ValueSerializer GetSerializerFor (PropertyDescriptor descriptor, IValueSerializerContext context)
- {
- ValueSerializer s = context.GetValueSerializerFor (descriptor);
- if (s == null) {
- DefaultValueSerializerContext defaultContext = new DefaultValueSerializerContext();
- s = defaultContext.GetValueSerializerFor (descriptor);
- }
- return s;
- }
-
- public static ValueSerializer GetSerializerFor (Type type, IValueSerializerContext context)
- {
- ValueSerializer s = context.GetValueSerializerFor (type);
- if (s == null) {
- DefaultValueSerializerContext defaultContext = new DefaultValueSerializerContext();
- s = defaultContext.GetValueSerializerFor (type);
- }
- return s;
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class |
- AttributeTargets.Struct |
- AttributeTargets.Enum |
- AttributeTargets.Method |
- AttributeTargets.Property |
- AttributeTargets.Interface, AllowMultiple = false, Inherited = true)]
- public sealed class ValueSerializerAttribute : Attribute
- {
- public ValueSerializerAttribute (string valueSerializerTypeName)
- {
- valueSerializerType = Type.GetType (valueSerializerTypeName);
- }
-
- public ValueSerializerAttribute (Type valueSerializerType)
- {
- this.valueSerializerType = valueSerializerType;
- }
-
- public Type ValueSerializerType {
- get { return valueSerializerType; }
- }
-
- public string ValueSerializerTypeName {
- get { return valueSerializerType.Name; }
- }
-
- Type valueSerializerType;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
- public sealed class WhitespaceSignificantCollectionAttribute : Attribute
- {
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Class, AllowMultiple = false)]
- public sealed class XmlLangPropertyAttribute : Attribute
- {
- public XmlLangPropertyAttribute (string name)
- {
- this.name = name;
- }
-
- public string Name {
- get { return name; }
- }
-
- string name;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Assembly, AllowMultiple = true)]
- public sealed class XmlnsCompatibleWithAttribute : Attribute
- {
- public XmlnsCompatibleWithAttribute (string oldNamespace, string newNamespace)
- {
- this.oldNamespace = oldNamespace;
- this.newNamespace = newNamespace;
- }
-
- public string NewNamespace {
- get { return newNamespace; }
- }
-
- public string OldNamespace {
- get { return oldNamespace; }
- }
-
- string newNamespace;
- string oldNamespace;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Assembly, AllowMultiple = true)]
- public sealed class XmlnsDefinitionAttribute : Attribute
- {
- public XmlnsDefinitionAttribute (string xmlNamespace, string clrNamespace)
- {
- this.xmlNamespace = xmlNamespace;
- this.clrNamespace = clrNamespace;
- }
-
- public string AssemblyName {
- get { return assemblyName; }
- set { assemblyName = value; }
- }
-
- public string ClrNamespace {
- get { return clrNamespace; }
- }
-
- public string XmlNamespace {
- get { return xmlNamespace; }
- }
-
- string xmlNamespace;
- string clrNamespace;
- string assemblyName;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Markup {
-
- [AttributeUsage (AttributeTargets.Assembly, AllowMultiple = true)]
- public sealed class XmlnsPrefixAttribute : Attribute
- {
- public XmlnsPrefixAttribute (string xmlNamespace, string prefix)
- {
- this.xmlNamespace = xmlNamespace;
- this.prefix = prefix;
- }
-
- public string Prefix {
- get { return prefix; }
- }
-
- public string XmlNamespace {
- get { return xmlNamespace; }
- }
-
- string prefix;
- string xmlNamespace;
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows.Markup;
-
-namespace System.Windows.Media.Converters {
-
- public class MatrixValueSerializer : ValueSerializer
- {
- public override bool CanConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFromString (string value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
-
- public override string ConvertToString (object value, IValueSerializerContext context)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Media {
-
- [AttributeUsage (AttributeTargets.Assembly, AllowMultiple = false)]
- public class DisableDpiAwarenessAttribute : Attribute
- {
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Threading;
-
-namespace System.Windows.Media {
-
- [SerializableAttribute]
- //[TypeConverterAttribute(typeof(MatrixConverter))]
- public struct Matrix : IFormattable {
-
- double m11;
- double m12;
- double m21;
- double m22;
- double offsetX;
- double offsetY;
-
- public Matrix (double m11,
- double m12,
- double m21,
- double m22,
- double offsetX,
- double offsetY)
- {
- this.m11 = m11;
- this.m12 = m12;
- this.m21 = m21;
- this.m22 = m22;
- this.offsetX = offsetX;
- this.offsetY = offsetY;
- }
-
- public void Append (Matrix matrix)
- {
- double _m11;
- double _m21;
- double _m12;
- double _m22;
- double _offsetX;
- double _offsetY;
-
- _m11 = m11 * matrix.M11 + m12 * matrix.M21;
- _m12 = m11 * matrix.M12 + m12 * matrix.M22;
- _m21 = m21 * matrix.M11 + m22 * matrix.M21;
- _m22 = m21 * matrix.M12 + m22 * matrix.M22;
-
- _offsetX = offsetX * matrix.M11 + offsetY * matrix.M21 + matrix.OffsetX;
- _offsetY = offsetX * matrix.M12 + offsetY * matrix.M22 + matrix.OffsetY;
-
- m11 = _m11;
- m12 = _m12;
- m21 = _m21;
- m22 = _m22;
- offsetX = _offsetX;
- offsetY = _offsetY;
- }
-
- public bool Equals (Matrix value)
- {
- return (m11 == value.M11 &&
- m12 == value.M12 &&
- m21 == value.M21 &&
- m22 == value.M22 &&
- offsetX == value.OffsetX &&
- offsetY == value.OffsetY);
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Matrix))
- return false;
-
- return Equals ((Matrix)o);
- }
-
- public static bool Equals (Matrix matrix1,
- Matrix matrix2)
- {
- return matrix1.Equals (matrix2);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public void Invert ()
- {
- if (!HasInverse)
- throw new InvalidOperationException ("Transform is not invertible.");
-
- double d = Determinant;
-
- /* 1/(ad-bc)[d -b; -c a] */
-
- double _m11 = m22;
- double _m12 = -m12;
- double _m21 = -m21;
- double _m22 = m11;
-
- double _offsetX = m21 * offsetY - m22 * offsetX;
- double _offsetY = m12 * offsetX - m11 * offsetY;
-
- m11 = _m11 / d;
- m12 = _m12 / d;
- m21 = _m21 / d;
- m22 = _m22 / d;
- offsetX = _offsetX / d;
- offsetY = _offsetY / d;
- }
-
- public static Matrix Multiply (Matrix trans1,
- Matrix trans2)
- {
- Matrix m = trans1;
- m.Append (trans2);
- return m;
- }
-
- public static bool operator == (Matrix matrix1,
- Matrix matrix2)
- {
- return matrix1.Equals (matrix2);
- }
-
- public static bool operator != (Matrix matrix1,
- Matrix matrix2)
- {
- return !matrix1.Equals (matrix2);
- }
-
- public static Matrix operator * (Matrix trans1,
- Matrix trans2)
- {
- Matrix result = trans1;
- result.Append (trans2);
- return result;
- }
-
- public static Matrix Parse (string source)
- {
- throw new NotImplementedException ();
- }
-
- public void Prepend (Matrix matrix)
- {
- double _m11;
- double _m21;
- double _m12;
- double _m22;
- double _offsetX;
- double _offsetY;
-
- _m11 = matrix.M11 * m11 + matrix.M12 * m21;
- _m12 = matrix.M11 * m12 + matrix.M12 * m22;
- _m21 = matrix.M21 * m11 + matrix.M22 * m21;
- _m22 = matrix.M21 * m12 + matrix.M22 * m22;
-
- _offsetX = matrix.OffsetX * m11 + matrix.OffsetY * m21 + offsetX;
- _offsetY = matrix.OffsetX * m12 + matrix.OffsetY * m22 + offsetY;
-
- m11 = _m11;
- m12 = _m12;
- m21 = _m21;
- m22 = _m22;
- offsetX = _offsetX;
- offsetY = _offsetY;
- }
-
- public void Rotate (double angle)
- {
- // R_theta==[costheta -sintheta; sintheta costheta],
- double theta = angle * Math.PI / 180;
-
- Matrix r_theta = new Matrix (Math.Cos (theta), Math.Sin(theta),
- -Math.Sin (theta), Math.Cos(theta),
- 0, 0);
-
- Append (r_theta);
- }
-
- public void RotateAt (double angle,
- double centerX,
- double centerY)
- {
- Translate (-centerX, -centerY);
- Rotate (angle);
- Translate (centerX, centerY);
- }
-
- public void RotateAtPrepend (double angle,
- double centerX,
- double centerY)
- {
- Matrix m = Matrix.Identity;
- m.RotateAt (angle, centerX, centerY);
- Prepend (m);
- }
-
- public void RotatePrepend (double angle)
- {
- Matrix m = Matrix.Identity;
- m.Rotate (angle);
- Prepend (m);
- }
-
- public void Scale (double scaleX,
- double scaleY)
- {
- Matrix scale = new Matrix (scaleX, 0,
- 0, scaleY,
- 0, 0);
-
- Append (scale);
- }
-
- public void ScaleAt (double scaleX,
- double scaleY,
- double centerX,
- double centerY)
- {
- Translate (-centerX, -centerY);
- Scale (scaleX, scaleY);
- Translate (centerX, centerY);
- }
-
- public void ScaleAtPrepend (double scaleX,
- double scaleY,
- double centerX,
- double centerY)
- {
- Matrix m = Matrix.Identity;
- m.ScaleAt (scaleX, scaleY, centerX, centerY);
- Prepend (m);
- }
-
- public void ScalePrepend (double scaleX,
- double scaleY)
- {
- Matrix m = Matrix.Identity;
- m.Scale (scaleX, scaleY);
- Prepend (m);
- }
-
- public void SetIdentity ()
- {
- m11 = m22 = 1.0;
- m12 = m21 = 0.0;
- offsetX = offsetY = 0.0;
- }
-
- public void Skew (double skewX,
- double skewY)
- {
- Matrix skew_m = new Matrix (1, Math.Tan (skewY * Math.PI / 180),
- Math.Tan (skewX * Math.PI / 180), 1,
- 0, 0);
- Append (skew_m);
- }
-
- public void SkewPrepend (double skewX,
- double skewY)
- {
- Matrix m = Matrix.Identity;
- m.Skew (skewX, skewY);
- Prepend (m);
- }
-
- string IFormattable.ToString (string format,
- IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- if (IsIdentity)
- return "Identity";
- else
- return string.Format ("{0},{1},{2},{3},{4},{5}",
- m11, m12, m21, m22, offsetX, offsetY);
- }
-
- public string ToString (IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public Point Transform (Point point)
- {
- return Point.Multiply (point, this);
- }
-
- public void Transform (Point[] points)
- {
- for (int i = 0; i < points.Length; i ++)
- points[i] = Transform (points[i]);
- }
-
- public Vector Transform (Vector vector)
- {
- return Vector.Multiply (vector, this);
- }
-
- public void Transform (Vector[] vectors)
- {
- for (int i = 0; i < vectors.Length; i ++)
- vectors[i] = Transform (vectors[i]);
- }
-
- public void Translate (double offsetX,
- double offsetY)
- {
- this.offsetX += offsetX;
- this.offsetY += offsetY;
- }
-
- public void TranslatePrepend (double offsetX,
- double offsetY)
- {
- Matrix m = Matrix.Identity;
- m.Translate (offsetX, offsetY);
- Prepend (m);
- }
-
- public double Determinant {
- get { return m11 * m22 - m12 * m21; }
- }
-
- public bool HasInverse {
- get { return Determinant != 0; }
- }
-
- public static Matrix Identity {
- get { return new Matrix (1.0, 0.0, 0.0, 1.0, 0.0, 0.0); }
- }
-
- public bool IsIdentity {
- get { return Equals (Matrix.Identity); }
- }
-
- public double M11 {
- get { return m11; }
- set { m11 = value; }
- }
- public double M12 {
- get { return m12; }
- set { m12 = value; }
- }
- public double M21 {
- get { return m21; }
- set { m21 = value; }
- }
- public double M22 {
- get { return m22; }
- set { m22 = value; }
- }
- public double OffsetX {
- get { return offsetX; }
- set { offsetX = value; }
- }
- public double OffsetY {
- get { return offsetY; }
- set { offsetY = value; }
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows.Media {
-
- public class MatrixConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-2007-01-25 Miguel de Icaza <miguel@novell.com>
-
- * DispatcherTimer.cs: Add new class.
-
- * Dispatcher.cs (ExitAllframes): Implement.
- (everywhere): Add support for hooks.
-
- * DispatcherHooks: Implement
-
- * DispatcherOperation.cs: Store result.
-
- * Dispatcher.cs:
- Check frame.Continue for early termination.
-
- PokableQueue: new class used so we can move DispatcherOperation
- tasks from one thread to another.
-
-2007-01-24 Miguel de Icaza <miguel@novell.com>
-
- * Dispatcher.cs: Implement reprioritization.
-
- We now take locks instead of using a separate async queue, as
- things like DispatcherOperation.Priority (reprioritization) can be
- called from a separate thread without crashing.
-
-2007-01-23 Miguel de Icaza <miguel@novell.com>
-
- * Dispatcher.cs: Start with the Async methods.
-
-2007-01-20 Miguel de Icaza <miguel@novell.com>
-
- * Dispatcher.cs: Move all tasks, not only the first one from the
- async queue into the proper priority queues.
-
- Eliminate the `Task' class, it is mostly redundant, instead move
- all the data into DispatcherOperation.
-
- * DispatcherOperation.cs, DispatcherOperationStatus.cs: Add new
- files.
-
- * Dispatcher.cs: Make our class `Task' internal, so we can pass
- that to DispatcherOperation.
-
- * Dispatcher.cs: Queue will now queue
- locally (if same thread) or post to the dispatcher queue if
- invoked from a different thread.
-
-2007-01-13 Miguel de Icaza <miguel@novell.com>
-
- * Dispatcher.cs: Initially I thought this
- was a stroke of genius. Looking at the actual results, it does
- not seem as brilliant as I had hoped.
-
-
+++ /dev/null
-// TODO:
-// DispatcherObject returned by BeginInvoke must allow:
-// * Waiting until delegate is invoked.
-// See: BeginInvoke documentation for details
-//
-// Implement the "Invoke" methods, they are currently not working.
-//
-// Add support for disabling the dispatcher and resuming it.
-// Add support for Waiting for new tasks to be pushed, so that we dont busy loop.
-// Add support for aborting an operation (emit the hook.operationaborted too)
-//
-// Very confusing information about Shutdown: it states that shutdown is
-// not over, until all events are unwinded, and also states that all events
-// are aborted at that point. See 'Dispatcher.InvokeShutdown' docs,
-//
-// Testing reveals that
-// -> InvokeShutdown() stops processing, even if events are available,
-// there is no "unwinding" of events, even of higher priority events,
-// they are just ignored.
-//
-// The documentation for the Dispatcher family is poorly written, complete
-// sections are cut-and-pasted that add no value and the important pieces
-// like (what is a frame) is not on the APIs, but scattered everywhere else
-//
-// -----------------------------------------------------------------------
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Security;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- [Flags]
- internal enum Flags {
- ShutdownStarted = 1,
- Shutdown = 2,
- Disabled = 4
- }
-
- public sealed class Dispatcher {
- static Dictionary<Thread, Dispatcher> dispatchers = new Dictionary<Thread, Dispatcher> ();
- static object olock = new object ();
- static DispatcherFrame main_execution_frame = new DispatcherFrame ();
-
- const int TOP_PRIO = (int)DispatcherPriority.Send;
- Thread base_thread;
- PokableQueue [] priority_queues = new PokableQueue [TOP_PRIO+1];
-
- Flags flags;
- int queue_bits;
-
- //
- // Used to notify the dispatcher thread that new data is available
- //
- EventWaitHandle wait;
-
- //
- // The hooks for this Dispatcher
- //
- DispatcherHooks hooks;
-
- //
- // The current DispatcherFrame active in a given Dispatcher, we use this to
- // keep a linked list of all active frames, so we can "ExitAll" frames when
- // requested
- DispatcherFrame current_frame;
-
- Dispatcher (Thread t)
- {
- base_thread = t;
- for (int i = 1; i <= (int) DispatcherPriority.Send; i++)
- priority_queues [i] = new PokableQueue ();
- wait = new EventWaitHandle (false, EventResetMode.AutoReset);
- hooks = new DispatcherHooks (this);
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public bool CheckAccess ()
- {
- return Thread.CurrentThread == base_thread;
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public void VerifyAccess ()
- {
- if (Thread.CurrentThread != base_thread)
- throw new InvalidOperationException ("Invoked from a different thread");
- }
-
- public static void ValidatePriority (DispatcherPriority priority, string parameterName)
- {
- if (priority < DispatcherPriority.Inactive || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException (parameterName);
- }
-
- public DispatcherOperation BeginInvoke (DispatcherPriority priority, Delegate method)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- DispatcherOperation op = new DispatcherOperation (this, priority, method);
- Queue (priority, op);
-
- return op;
- }
-
- public DispatcherOperation BeginInvoke (DispatcherPriority priority, Delegate method, object arg)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- DispatcherOperation op = new DispatcherOperation (this, priority, method, arg);
-
- Queue (priority, op);
-
- return op;
- }
-
- public DispatcherOperation BeginInvoke (DispatcherPriority priority, Delegate method, object arg, params object [] args)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- DispatcherOperation op = new DispatcherOperation (this, priority, method, arg, args);
- Queue (priority, op);
-
- return op;
- }
-
- public object Invoke (DispatcherPriority priority, Delegate method)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- DispatcherOperation op = new DispatcherOperation (this, priority, method);
- Queue (priority, op);
- PushFrame (new DispatcherFrame ());
-
- throw new NotImplementedException ();
- }
-
- public object Invoke (DispatcherPriority priority, Delegate method, object arg)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- Queue (priority, new DispatcherOperation (this, priority, method, arg));
- throw new NotImplementedException ();
- }
-
- public object Invoke (DispatcherPriority priority, Delegate method, object arg, params object [] args)
- {
- if (priority < 0 || priority > DispatcherPriority.Send)
- throw new InvalidEnumArgumentException ("priority");
- if (priority == DispatcherPriority.Inactive)
- throw new ArgumentException ("priority can not be inactive", "priority");
- if (method == null)
- throw new ArgumentNullException ("method");
-
- Queue (priority, new DispatcherOperation (this, priority, method, arg, args));
-
- throw new NotImplementedException ();
- }
-
- public object Invoke (DispatcherPriority priority, TimeSpan timeout, Delegate method)
- {
- throw new NotImplementedException ();
- }
-
- public object Invoke (DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg)
- {
- throw new NotImplementedException ();
- }
-
- public object Invoke (DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object [] args)
- {
- throw new NotImplementedException ();
- }
-
- void Queue (DispatcherPriority priority, DispatcherOperation x)
- {
- int p = ((int) priority);
- PokableQueue q = priority_queues [p];
-
- lock (q){
- int flag = 1 << p;
- q.Enqueue (x);
- queue_bits |= flag;
- }
- hooks.EmitOperationPosted (x);
-
- if (Thread.CurrentThread != base_thread)
- wait.Set ();
- }
-
- internal void Reprioritize (DispatcherOperation op, DispatcherPriority oldpriority)
- {
- int oldp = (int) oldpriority;
- PokableQueue q = priority_queues [oldp];
-
- lock (q){
- q.Remove (op);
- }
- Queue (op.Priority, op);
- hooks.EmitOperationPriorityChanged (op);
- }
-
- public static Dispatcher CurrentDispatcher {
- get {
- lock (olock){
- Thread t = Thread.CurrentThread;
- Dispatcher dis = FromThread (t);
-
- if (dis != null)
- return dis;
-
- dis = new Dispatcher (t);
- dispatchers [t] = dis;
- return dis;
- }
- }
- }
-
- public static Dispatcher FromThread (Thread thread)
- {
- Dispatcher dis;
-
- if (dispatchers.TryGetValue (thread, out dis))
- return dis;
-
- return null;
- }
-
- public Thread Thread {
- get {
- return base_thread;
- }
- }
-
- [SecurityCritical]
- public static void Run ()
- {
- PushFrame (main_execution_frame);
- }
-
- [SecurityCritical]
- public static void PushFrame (DispatcherFrame frame)
- {
- if (frame == null)
- throw new ArgumentNullException ("frame");
-
- Dispatcher dis = CurrentDispatcher;
-
- if (dis.HasShutdownFinished)
- throw new InvalidOperationException ("The Dispatcher has shut down");
- if (frame.dispatcher != null)
- throw new InvalidOperationException ("Frame is already running on a different dispatcher");
- if ((dis.flags & Flags.Disabled) != 0)
- throw new InvalidOperationException ("Dispatcher processing has been disabled");
-
- frame.ParentFrame = dis.current_frame;
- dis.current_frame = frame;
-
- frame.dispatcher = dis;
-
- dis.RunFrame (frame);
- }
-
- void PerformShutdown ()
- {
- EventHandler h;
-
- h = ShutdownStarted;
- if (h != null)
- h (this, new EventArgs ());
-
- flags |= Flags.Shutdown;
-
- h = ShutdownFinished;
- if (h != null)
- h (this, new EventArgs ());
-
- priority_queues = null;
- wait = null;
- }
-
- void RunFrame (DispatcherFrame frame)
- {
- do {
- while (queue_bits != 0){
- for (int i = TOP_PRIO; i > 0 && queue_bits != 0; i--){
- int current_bit = queue_bits & (1 << i);
- if (current_bit != 0){
- PokableQueue q = priority_queues [i];
-
- do {
- DispatcherOperation task;
-
- lock (q){
- task = (DispatcherOperation) q.Dequeue ();
- }
-
- task.Invoke ();
-
- //
- // call hooks.
- //
- if (task.Status == DispatcherOperationStatus.Aborted)
- hooks.EmitOperationAborted (task);
- else
- hooks.EmitOperationCompleted (task);
-
- if (!frame.Continue)
- return;
-
- if (HasShutdownStarted){
- PerformShutdown ();
- return;
- }
-
- // if we are done with this queue, leave.
- lock (q){
- if (q.Count == 0){
- queue_bits &= ~(1 << i);
- break;
- }
- }
-
- //
- // If a higher-priority task comes in, go do that
- //
- if (current_bit < (queue_bits & ~current_bit))
- break;
- } while (true);
- }
- }
- }
- hooks.EmitInactive ();
-
- wait.WaitOne ();
- wait.Reset ();
- } while (frame.Continue);
- }
-
- [EditorBrowsable (EditorBrowsableState.Advanced)]
- public DispatcherHooks Hooks {
- [SecurityCritical]
- get { throw new NotImplementedException (); }
- }
-
- public bool HasShutdownStarted {
- get {
- return (flags & Flags.ShutdownStarted) != 0;
- }
- }
-
- public bool HasShutdownFinished {
- get {
- return (flags & Flags.Shutdown) != 0;
- }
- }
-
- //
- // Do no work here, so that any events are thrown on the owning thread
- //
- [SecurityCritical]
- public void InvokeShutdown ()
- {
- flags |= Flags.ShutdownStarted;
- }
-
- [SecurityCritical]
- public void BeginInvokeShutdown (DispatcherPriority priority)
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public static void ExitAllFrames ()
- {
- Dispatcher dis = CurrentDispatcher;
-
- for (DispatcherFrame frame = dis.current_frame; frame != null; frame = frame.ParentFrame){
- if (frame.exit_on_request)
- frame.Continue = false;
- else {
- //
- // Stop unwinding the frames at the first frame that is
- // long running
- break;
- }
- }
- }
-
- public DispatcherProcessingDisabled DisableProcessing ()
- {
- throw new NotImplementedException ();
- }
-
- public event EventHandler ShutdownStarted;
- public event EventHandler ShutdownFinished;
- public event DispatcherUnhandledExceptionEventHandler UnhandledException;
- public event DispatcherUnhandledExceptionFilterEventHandler UnhandledExceptionFilter;
- }
-
- internal class PokableQueue {
- const int initial_capacity = 32;
-
- int size, head, tail;
- object [] array;
-
- internal PokableQueue (int capacity)
- {
- array = new object [capacity];
- }
-
- internal PokableQueue () : this (initial_capacity)
- {
- }
-
- public void Enqueue (object obj)
- {
- if (size == array.Length)
- Grow ();
- array[tail] = obj;
- tail = (tail+1) % array.Length;
- size++;
- }
-
- public object Dequeue ()
- {
- if (size < 1)
- throw new InvalidOperationException ();
- object result = array[head];
- array [head] = null;
- head = (head + 1) % array.Length;
- size--;
- return result;
- }
-
- void Grow () {
- int newc = array.Length * 2;
- object[] new_contents = new object[newc];
- array.CopyTo (new_contents, 0);
- array = new_contents;
- head = 0;
- tail = head + size;
- }
-
- public int Count {
- get {
- return size;
- }
- }
-
- public void Remove (object obj)
- {
- for (int i = 0; i < size; i++){
- if (array [(head+i) % array.Length] == obj){
- for (int j = i; j < size-i; j++)
- array [(head +j) % array.Length] = array [(head+j+1) % array.Length];
- size--;
- if (size < 0)
- size = array.Length-1;
- tail--;
- }
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Threading {
-
- public class DispatcherEventArgs : EventArgs
- {
- Dispatcher dispatcher;
-
- internal DispatcherEventArgs (Dispatcher dispatcher)
- {
- this.dispatcher = dispatcher;
- }
-
- public Dispatcher Dispatcher {
- get { return dispatcher; }
- }
- }
-}
+++ /dev/null
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Security;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public class DispatcherFrame : DispatcherObject {
- DispatcherFrame parent_frame;
-
- internal bool exit_on_request;
- bool cont;
- internal Dispatcher dispatcher;
-
- public DispatcherFrame ()
- {
- exit_on_request = true;
- cont = true;
- }
-
- public DispatcherFrame (bool exitWhenRequested)
- {
- exit_on_request = exitWhenRequested;
- cont = true;
- }
-
- public bool Continue {
- get {
- return cont;
- }
-
- [SecurityCritical]
- set {
- cont = value;
- }
- }
-
- internal DispatcherFrame ParentFrame {
- get {
- return parent_frame;
- }
-
- set {
- parent_frame = value;
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-
-namespace System.Windows.Threading {
-
- public sealed class DispatcherHookEventArgs : EventArgs {
- DispatcherOperation operation;
-
- public DispatcherHookEventArgs (DispatcherOperation operation)
- {
- this.operation = operation;
- }
-
- public Dispatcher Dispatcher {
- get {
- return operation.Dispatcher;
- }
- }
-
- public DispatcherOperation Operation {
- get {
- return operation;
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-
-namespace System.Windows.Threading {
-
- public delegate void DispatcherHookEventHandler (object sender, DispatcherHookEventArgs e);
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public sealed class DispatcherHooks {
- Dispatcher owner;
-
- internal DispatcherHooks (Dispatcher owner)
- {
- this.owner = owner;
- }
-
- public event EventHandler DispatcherInactive;
- public event DispatcherHookEventHandler OperationAborted;
- public event DispatcherHookEventHandler OperationCompleted;
- public event DispatcherHookEventHandler OperationPosted;
- public event DispatcherHookEventHandler OperationPriorityChanged;
-
- internal void EmitOperationPosted (DispatcherOperation op)
- {
- DispatcherHookEventHandler posted = OperationPosted;
- if (posted != null)
- posted (owner, new DispatcherHookEventArgs (op));
- }
-
- internal void EmitOperationCompleted (DispatcherOperation op)
- {
- DispatcherHookEventHandler completed = OperationCompleted;
- if (completed != null)
- completed (owner, new DispatcherHookEventArgs (op));
- }
-
- internal void EmitOperationAborted (DispatcherOperation op)
- {
- DispatcherHookEventHandler aborted = OperationAborted;
- if (aborted != null)
- aborted (owner, new DispatcherHookEventArgs (op));
- }
-
- internal void EmitOperationPriorityChanged (DispatcherOperation op)
- {
- DispatcherHookEventHandler prio = OperationPriorityChanged;
- if (prio != null)
- prio (owner, new DispatcherHookEventArgs (op));
- }
-
- internal void EmitInactive ()
- {
- EventHandler inactive = DispatcherInactive;
- if (inactive != null)
- inactive (owner, EventArgs.Empty);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public abstract class DispatcherObject {
- Thread base_thread;
-
- protected DispatcherObject ()
- {
- base_thread = Thread.CurrentThread;
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public bool CheckAccess ()
- {
- return Thread.CurrentThread == base_thread;
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public void VerifyAccess ()
- {
- throw new InvalidOperationException ("The calling thread is not the same as the creation thread");
- }
-
- [EditorBrowsable (EditorBrowsableState.Never)]
- public Dispatcher Dispatcher {
- get {
- return Dispatcher.FromThread (base_thread);
- }
- }
- }
-}
+++ /dev/null
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Security;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public sealed class DispatcherOperation {
- DispatcherOperationStatus status;
- DispatcherPriority priority;
- Dispatcher dispatcher;
- object result;
- Delegate delegate_method;
- object [] delegate_args;
-
- internal DispatcherOperation (Dispatcher dis, DispatcherPriority prio)
- {
- dispatcher = dis;
- priority = prio;
- if (Dispatcher.HasShutdownFinished)
- status = DispatcherOperationStatus.Aborted;
- else
- status = DispatcherOperationStatus.Pending;
- }
-
- internal DispatcherOperation (Dispatcher dis, DispatcherPriority prio, Delegate d)
- : this (dis, prio)
- {
- delegate_method = d;
- }
-
- internal DispatcherOperation (Dispatcher dis, DispatcherPriority prio, Delegate d, object arg)
- : this (dis, prio)
- {
- delegate_method = d;
- delegate_args = new object [1];
- delegate_args [0] = arg;
- }
-
- internal DispatcherOperation (Dispatcher dis, DispatcherPriority prio, Delegate d, object arg, object [] args)
- : this (dis, prio)
- {
- delegate_method = d;
- delegate_args = new object [args.Length + 1];
- delegate_args [0] = arg;
- Array.Copy (args, 1, delegate_args, 0, args.Length);
- }
-
- internal void Invoke ()
- {
- status = DispatcherOperationStatus.Executing;
- result = delegate_method.DynamicInvoke (delegate_args);
-
- status = DispatcherOperationStatus.Completed;
-
- if (Completed != null)
- Completed (this, EventArgs.Empty);
- }
-
- public bool Abort ()
- {
- status = DispatcherOperationStatus.Aborted;
- throw new NotImplementedException ();
- }
-
- public DispatcherOperationStatus Status {
- get {
- return status;
- }
-
- internal set {
- status = value;
- }
- }
-
- public Dispatcher Dispatcher {
- get {
- return dispatcher;
- }
- }
-
- public DispatcherPriority Priority {
- get {
- return priority;
- }
-
- set {
- if (priority != value){
- DispatcherPriority old = priority;
- priority = value;
- dispatcher.Reprioritize (this, old);
- }
- }
- }
-
- public object Result {
- get {
- return result;
- }
- }
-
- public DispatcherOperationStatus Wait ()
- {
- if (status == DispatcherOperationStatus.Executing)
- throw new InvalidOperationException ("Already executing");
-
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public DispatcherOperationStatus Wait (TimeSpan timeout)
- {
- if (status == DispatcherOperationStatus.Executing)
- throw new InvalidOperationException ("Already executing");
-
- throw new NotImplementedException ();
- }
-
- public event EventHandler Aborted;
- public event EventHandler Completed;
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows.Threading {
-
- public delegate object DispatcherOperationCallback (object arg);
-
-}
+++ /dev/null
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-
-namespace System.Windows.Threading {
-
- public enum DispatcherOperationStatus {
- Pending = 0,
- Aborted = 1,
- Completed = 2,
- Executing = 3
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-
-using System;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public enum DispatcherPriority {
- Invalid = -1,
- Inactive = 0,
- SystemIdle = 1,
- ApplicationIdle = 2,
- ContextIdle = 3,
- Background = 4,
- Input = 5,
- Loaded = 6,
- Render = 7,
- DataBind = 8,
-
- Normal = 9,
-
- Send = 10,
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Threading {
-
- public struct DispatcherProcessingDisabled : IDisposable
- {
- internal DispatcherProcessingDisabled (int foo)
- {
- }
-
- public void Dispose ()
- {
- throw new NotImplementedException ();
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator != (DispatcherProcessingDisabled left, DispatcherProcessingDisabled right)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator == (DispatcherProcessingDisabled left, DispatcherProcessingDisabled right)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Security;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public class DispatcherSynchronizationContext : SynchronizationContext
- {
- public DispatcherSynchronizationContext ()
- {
- throw new NotImplementedException ();
- }
-
- public DispatcherSynchronizationContext (Dispatcher dispatcher)
- {
- throw new NotImplementedException ();
- }
-
- public override SynchronizationContext CreateCopy ()
- {
- throw new NotImplementedException ();
- }
-
- public override void Post (SendOrPostCallback d, object state)
- {
- throw new NotImplementedException ();
- }
-
- public override void Send (SendOrPostCallback d, object state)
- {
- throw new NotImplementedException ();
- }
-
- [SecurityCritical]
- public override int Wait (IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Miguel de Icaza (miguel@novell.com)
-//
-using System;
-using System.Collections;
-using System.Threading;
-
-namespace System.Windows.Threading {
-
- public class DispatcherTimer {
- DispatcherPriority priority;
- Dispatcher target_dispatcher;
- long interval;
- EventHandler callback;
- Timer timer;
- object tag;
-
- public DispatcherTimer ()
- : this (DispatcherPriority.Background, Dispatcher.CurrentDispatcher)
- {
- }
-
- public DispatcherTimer (DispatcherPriority priority)
- : this (priority, Dispatcher.CurrentDispatcher)
- {
- }
-
- public DispatcherTimer (DispatcherPriority priority, Dispatcher dispatcher)
- : this (TimeSpan.Zero, priority, null, dispatcher)
- {
- }
-
- public DispatcherTimer (TimeSpan interval, DispatcherPriority priority,
- EventHandler callback, Dispatcher dispatcher)
- {
- this.priority = priority;
- this.target_dispatcher = dispatcher;
- this.interval = interval.Ticks;
- this.callback = callback;
- }
-
- public void Start ()
- {
- if (timer == null){
- long repeat_interval = interval;
- if (repeat_interval == 0)
- repeat_interval = 1;
- timer = new Timer (new TimerCallback (timer_tick), null, interval, repeat_interval);
- }
- }
-
- void timer_tick (object state)
- {
- target_dispatcher.BeginInvoke (priority, (ThreadStart) delegate {
- EventHandler h = Tick;
- if (h != null)
- h (this, EventArgs.Empty);
- if (callback != null)
- callback (this, EventArgs.Empty);
- });
- }
-
- public void Stop ()
- {
- if (timer == null)
- return;
-
- timer.Dispose ();
- timer = null;
- }
-
- public Dispatcher Dispatcher {
- get {
- return target_dispatcher;
- }
- }
-
- public TimeSpan Interval {
- get {
- return new TimeSpan (interval);
- }
-
- set {
- if (interval == value.Ticks)
- return;
-
- interval = value.Ticks;
-
- if (timer != null)
- timer.Change (interval, interval);
- }
- }
-
- public bool IsEnabled {
- get {
- return timer != null;
- }
-
- set {
- if (value && timer == null)
- Start ();
- if (value == false && timer != null)
- Stop ();
- }
- }
-
- public object Tag {
- get {
- return tag;
- }
-
- set {
- tag = value;
- }
- }
- public event EventHandler Tick;
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Threading {
- public sealed class DispatcherUnhandledExceptionEventArgs : DispatcherEventArgs
- {
- Exception exception;
- bool handled;
-
- internal DispatcherUnhandledExceptionEventArgs (Dispatcher dispatcher,
- Exception exception)
- : base (dispatcher)
- {
- this.exception = exception;
- }
-
- public Exception Exception {
- get { return exception; }
- }
-
- public bool Handled {
- get { return handled; }
- set { handled = value; }
- }
-
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows.Threading {
-
- public delegate void DispatcherUnhandledExceptionEventHandler (object sender,
- DispatcherUnhandledExceptionEventArgs e);
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Threading {
-
- public sealed class DispatcherUnhandledExceptionFilterEventArgs : DispatcherEventArgs
- {
- Exception exception;
- bool requestCatch;
-
- internal DispatcherUnhandledExceptionFilterEventArgs (Dispatcher dispatcher,
- Exception exception)
- : base (dispatcher)
- {
- this.exception = exception;
- }
-
- public Exception Exception {
- get { return exception; }
- }
-
- public bool RequestCatch {
- get { return requestCatch; }
- set { requestCatch = value; }
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows.Threading {
-
- public delegate void DispatcherUnhandledExceptionFilterEventHandler (object sender,
- DispatcherUnhandledExceptionFilterEventArgs e);
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows {
-
- public abstract class AttachedPropertyBrowsableAttribute : Attribute
- {
- protected AttachedPropertyBrowsableAttribute ()
- {
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows {
-
- [AttributeUsage (AttributeTargets.Method, AllowMultiple = true)]
- public sealed class AttachedPropertyBrowsableForTypeAttribute : AttachedPropertyBrowsableAttribute
- {
- Type targetType;
-
- public AttachedPropertyBrowsableForTypeAttribute (Type targetType)
- {
- this.targetType = targetType;
- }
-
- public Type TargetType {
- get { return targetType; }
- }
-
- public override object TypeId {
- get { throw new NotImplementedException (); }
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows {
-
- [AttributeUsage (AttributeTargets.Method, AllowMultiple = false)]
- public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute
- {
- Type attributeType;
-
- public AttachedPropertyBrowsableWhenAttributePresentAttribute (Type attributeType)
- {
- this.attributeType = attributeType;
- }
-
- public Type AttributeType {
- get { return attributeType; }
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows {
-
- public delegate object CoerceValueCallback (DependencyObject d, object baseValue);
-}
+++ /dev/null
-//
-// DependencyObject.cs
-//
-// Author:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 Iain McCoy
-// (C) 2007 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Collections.Generic;
-using System.Windows.Threading;
-
-namespace System.Windows {
- public class DependencyObject : DispatcherObject {
- private static Dictionary<Type,Dictionary<string,DependencyProperty>> propertyDeclarations = new Dictionary<Type,Dictionary<string,DependencyProperty>>();
- private Dictionary<DependencyProperty,object> properties = new Dictionary<DependencyProperty,object>();
-
- [MonoTODO]
- public bool IsSealed {
- get { return false; }
- }
-
- public DependencyObjectType DependencyObjectType {
- get { return DependencyObjectType.FromSystemType (GetType()); }
- }
-
- public void ClearValue(DependencyProperty dp)
- {
- if (IsSealed)
- throw new InvalidOperationException ("Cannot manipulate property values on a sealed DependencyObject");
-
- properties[dp] = null;
- }
-
- public void ClearValue(DependencyPropertyKey key)
- {
- ClearValue (key.DependencyProperty);
- }
-
- public void CoerceValue (DependencyProperty dp)
- {
- PropertyMetadata pm = dp.GetMetadata (this);
- if (pm.CoerceValueCallback != null)
- pm.CoerceValueCallback (this, GetValue (dp));
- }
-
- public sealed override bool Equals (object obj)
- {
- throw new NotImplementedException("Equals");
- }
-
- public sealed override int GetHashCode ()
- {
- throw new NotImplementedException("GetHashCode");
- }
-
- [MonoTODO]
- public LocalValueEnumerator GetLocalValueEnumerator()
- {
- return new LocalValueEnumerator(properties);
- }
-
- public object GetValue(DependencyProperty dp)
- {
- object val = properties[dp];
- return val == null ? dp.DefaultMetadata.DefaultValue : val;
- }
-
- [MonoTODO]
- public void InvalidateProperty(DependencyProperty dp)
- {
- throw new NotImplementedException("InvalidateProperty(DependencyProperty dp)");
- }
-
- protected virtual void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
- {
- PropertyMetadata pm = e.Property.GetMetadata (this);
- if (pm.PropertyChangedCallback != null)
- pm.PropertyChangedCallback (this, e);
- }
-
- public object ReadLocalValue(DependencyProperty dp)
- {
- object val = properties[dp];
- return val == null ? DependencyProperty.UnsetValue : val;
- }
-
- public void SetValue(DependencyProperty dp, object value)
- {
- if (IsSealed)
- throw new InvalidOperationException ("Cannot manipulate property values on a sealed DependencyObject");
-
- if (!dp.IsValidType (value))
- throw new ArgumentException ("value not of the correct type for this DependencyProperty");
-
- ValidateValueCallback validate = dp.ValidateValueCallback;
- if (validate != null && !validate(value))
- throw new Exception("Value does not validate");
- else
- properties[dp] = value;
- }
-
- public void SetValue(DependencyPropertyKey key, object value)
- {
- SetValue (key.DependencyProperty, value);
- }
-
- protected virtual bool ShouldSerializeProperty (DependencyProperty dp)
- {
- throw new NotImplementedException ();
- }
-
- internal static void register(Type t, DependencyProperty dp)
- {
- if (!propertyDeclarations.ContainsKey (t))
- propertyDeclarations[t] = new Dictionary<string,DependencyProperty>();
- Dictionary<string,DependencyProperty> typeDeclarations = propertyDeclarations[t];
- if (!typeDeclarations.ContainsKey(dp.Name))
- typeDeclarations[dp.Name] = dp;
- else
- throw new ArgumentException("A property named " + dp.Name + " already exists on " + t.Name);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// (C) 2005 Iain McCoy
-// (C) 2007 Novell, Inc.
-//
-// Authors:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-//
-
-using System.Collections.Generic;
-
-namespace System.Windows {
- public class DependencyObjectType {
-
- private static Dictionary<Type,DependencyObjectType> typeMap = new Dictionary<Type,DependencyObjectType>();
- private static int current_id;
-
- private int id;
- private Type systemType;
-
- private DependencyObjectType (int id, Type systemType)
- {
- this.id = id;
- this.systemType = systemType;
- }
-
- public DependencyObjectType BaseType {
- get { return DependencyObjectType.FromSystemType (systemType.BaseType); }
- }
-
- public int Id {
- get { return id; }
- }
-
- public string Name {
- get { return systemType.Name; }
- }
-
- public Type SystemType {
- get { return systemType; }
- }
-
- public static DependencyObjectType FromSystemType(Type systemType)
- {
- if (typeMap.ContainsKey (systemType))
- return typeMap[systemType];
-
- DependencyObjectType dot;
-
- typeMap[systemType] = dot = new DependencyObjectType (current_id++, systemType);
-
- return dot;
- }
-
- public bool IsInstanceOfType(DependencyObject d)
- {
- return systemType.IsInstanceOfType (d);
- }
-
- public bool IsSubclassOf(DependencyObjectType dependencyObjectType)
- {
- return systemType.IsSubclassOf (dependencyObjectType.SystemType);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// (C) 2005 Iain McCoy
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System.Collections.Generic;
-
-namespace System.Windows {
- public sealed class DependencyProperty {
- private Dictionary<Type,PropertyMetadata> metadataByType = new Dictionary<Type,PropertyMetadata>();
- private PropertyMetadata defaultMetadata;
- private string name;
- private Type ownerType;
- private Type propertyType;
- private ValidateValueCallback validateValueCallback;
-
- private bool isReadOnly;
- private bool isAttached;
- internal bool IsAttached { get { return isAttached; } }
-
- public static readonly object UnsetValue = new object ();
-
- private DependencyProperty (bool isAttached, string name, Type propertyType, Type ownerType,
- PropertyMetadata defaultMetadata,
- ValidateValueCallback validateValueCallback)
- {
- this.isAttached = isAttached;
- this.defaultMetadata = (defaultMetadata == null ? new PropertyMetadata() : defaultMetadata);
- this.name = name;
- this.ownerType = ownerType;
- this.propertyType = propertyType;
- this.validateValueCallback = validateValueCallback;
- }
-
- public PropertyMetadata DefaultMetadata {
- get { return defaultMetadata; }
- }
-
- public int GlobalIndex {
- get { throw new NotImplementedException (); }
- }
-
- public string Name {
- get { return name; }
- }
- public Type OwnerType {
- get { return ownerType; }
- }
- public Type PropertyType {
- get { return propertyType; }
- }
-
- public bool ReadOnly {
- get { return isReadOnly; }
- }
-
- public ValidateValueCallback ValidateValueCallback {
- get { return validateValueCallback; }
- }
-
- public DependencyProperty AddOwner(Type ownerType)
- {
- return AddOwner (ownerType, null);
- }
-
- public DependencyProperty AddOwner(Type ownerType, PropertyMetadata typeMetadata)
- {
- if (typeMetadata == null) typeMetadata = new PropertyMetadata ();
- OverrideMetadata (ownerType, typeMetadata);
-
- // MS seems to always return the same DependencyProperty
- return this;
- }
-
- public PropertyMetadata GetMetadata(Type forType)
- {
- if (metadataByType.ContainsKey (forType))
- return metadataByType[forType];
- return null;
- }
-
- public PropertyMetadata GetMetadata(DependencyObject d)
- {
- if (metadataByType.ContainsKey (d.GetType()))
- return metadataByType[d.GetType()];
- return null;
- }
-
- public PropertyMetadata GetMetadata(DependencyObjectType dependencyObjectType)
- {
- if (metadataByType.ContainsKey (dependencyObjectType.SystemType))
- return metadataByType[dependencyObjectType.SystemType];
- return null;
- }
-
-
- public bool IsValidType(object value)
- {
- return propertyType.IsInstanceOfType (value);
- }
-
- public bool IsValidValue(object value)
- {
- if (!IsValidType (value))
- return false;
- if (validateValueCallback == null)
- return true;
- return validateValueCallback (value);
- }
-
- public void OverrideMetadata(Type forType, PropertyMetadata typeMetadata)
- {
- if (forType == null)
- throw new ArgumentNullException ("forType");
- if (typeMetadata == null)
- throw new ArgumentNullException ("typeMetadata");
-
- if (ReadOnly)
- throw new InvalidOperationException (String.Format ("Cannot override metadata on readonly property '{0}' without using a DependencyPropertyKey", name));
-
- typeMetadata.DoMerge (DefaultMetadata, this, forType);
- metadataByType.Add (forType, typeMetadata);
- }
-
- public void OverrideMetadata (Type forType, PropertyMetadata typeMetadata, DependencyPropertyKey key)
- {
- if (forType == null)
- throw new ArgumentNullException ("forType");
- if (typeMetadata == null)
- throw new ArgumentNullException ("typeMetadata");
-
-
- // further checking? should we check
- // key.DependencyProperty == this?
-
- typeMetadata.DoMerge (DefaultMetadata, this, forType);
- metadataByType.Add (forType, typeMetadata);
- }
-
- public override string ToString ()
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public static DependencyProperty Register(string name, Type propertyType, Type ownerType)
- {
- return Register(name, propertyType, ownerType, null, null);
- }
-
- public static DependencyProperty Register(string name, Type propertyType, Type ownerType,
- PropertyMetadata typeMetadata)
- {
- return Register(name, propertyType, ownerType, typeMetadata, null);
- }
-
- public static DependencyProperty Register(string name, Type propertyType, Type ownerType,
- PropertyMetadata typeMetadata,
- ValidateValueCallback validateValueCallback)
- {
- if (typeMetadata == null)
- typeMetadata = new PropertyMetadata();
-
- DependencyProperty dp = new DependencyProperty(false, name, propertyType, ownerType,
- typeMetadata, validateValueCallback);
- DependencyObject.register(ownerType, dp);
-
- dp.OverrideMetadata (ownerType, typeMetadata);
-
- return dp;
- }
-
- public static DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType)
- {
- return RegisterAttached(name, propertyType, ownerType, null, null);
- }
-
- public static DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType,
- PropertyMetadata defaultMetadata)
- {
- return RegisterAttached(name, propertyType, ownerType, defaultMetadata, null);
- }
-
- public static DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType,
- PropertyMetadata defaultMetadata,
- ValidateValueCallback validateValueCallback)
- {
- DependencyProperty dp = new DependencyProperty(true, name, propertyType, ownerType,
- defaultMetadata, validateValueCallback);
- DependencyObject.register(ownerType, dp);
- return dp;
- }
-
- public static DependencyPropertyKey RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType,
- PropertyMetadata defaultMetadata)
- {
- throw new NotImplementedException("RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType, PropertyMetadata defaultMetadata)");
- }
-
- public static DependencyPropertyKey RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType,
- PropertyMetadata defaultMetadata,
- ValidateValueCallback validateValueCallback)
- {
- throw new NotImplementedException("RegisterAttachedReadOnly(string name, Type propertyType, Type ownerType, PropertyMetadata defaultMetadata, ValidateValueCallback validateValueCallback)");
- }
-
- public static DependencyPropertyKey RegisterReadOnly(string name, Type propertyType, Type ownerType,
- PropertyMetadata typeMetadata)
- {
- return RegisterReadOnly (name, propertyType, ownerType, typeMetadata, null);
- }
-
-
- public static DependencyPropertyKey RegisterReadOnly(string name, Type propertyType, Type ownerType,
- PropertyMetadata typeMetadata,
- ValidateValueCallback validateValueCallback)
- {
- DependencyProperty prop = Register (name, propertyType, ownerType, typeMetadata, validateValueCallback);
- prop.isReadOnly = true;
- return new DependencyPropertyKey (prop);
- }
-
- }
-}
+++ /dev/null
-//
-// DependencyPropertyChangedEventArgs.cs
-//
-// Author:
-// Chris Toshok (toshok@ximian.com)
-//
-// (C) 2007 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Windows {
- public struct DependencyPropertyChangedEventArgs {
-
- DependencyProperty property;
- object oldValue;
- object newValue;
-
- public DependencyPropertyChangedEventArgs (DependencyProperty property, object oldValue, object newValue)
- {
- this.property = property;
- this.oldValue = oldValue;
- this.newValue = newValue;
- }
-
- public object NewValue {
- get { return newValue; }
- }
-
- public object OldValue {
- get { return oldValue; }
- }
-
- public DependencyProperty Property {
- get { return property; }
- }
-
- public override bool Equals (object obj)
- {
- if (!(obj is DependencyPropertyChangedEventArgs))
- return false;
-
- return Equals ((DependencyPropertyChangedEventArgs)obj);
- }
-
- public bool Equals (DependencyPropertyChangedEventArgs args)
- {
- return (property == args.Property &&
- newValue == args.NewValue &&
- oldValue == args.OldValue);
- }
-
- public static bool operator != (DependencyPropertyChangedEventArgs left, DependencyPropertyChangedEventArgs right)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator == (DependencyPropertyChangedEventArgs left, DependencyPropertyChangedEventArgs right)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode()
- {
- throw new NotImplementedException ();
- }
-
- }
-}
+++ /dev/null
-//
-// DependencyPropertyChangedEventHandler.cs
-//
-// Author:
-// Chris Toshok (toshok@ximian.com)
-//
-// (C) 2007 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Windows {
- public delegate void DependencyPropertyChangedEventHandler (object sender, DependencyPropertyChangedEventArgs e);
-}
+++ /dev/null
-//
-// DependencyPropertyKey.cs
-//
-// Author:
-// Iain McCoy (iain@mccoy.id.au)
-//
-// (C) 2005 Iain McCoy
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Windows {
- public sealed class DependencyPropertyKey {
- internal DependencyPropertyKey (DependencyProperty dependencyProperty)
- {
- this.dependencyProperty = dependencyProperty;
- }
-
- private DependencyProperty dependencyProperty;
- public DependencyProperty DependencyProperty {
- get { return dependencyProperty; }
- }
-
- public void OverrideMetadata(Type forType, PropertyMetadata typeMetadata)
- {
- dependencyProperty.OverrideMetadata (forType, typeMetadata, this);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-
-namespace System.Windows {
-
-#if notyet
- [TypeConverter (typeof (ExpressionConverter))]
-#endif
- public class Expression
- {
- internal Expression ()
- {
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public class ExpressionConverter : TypeConverter
- {
- public ExpressionConverter ()
- {
- }
-
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- throw new NotImplementedException ();
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- throw new NotImplementedException ();
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- throw new NotImplementedException ();
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows {
-
- public abstract class Freezable : DependencyObject {
- protected Freezable () {
- }
-
- public Freezable Clone ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void CloneCore (Freezable sourceFreezable)
- {
- throw new NotImplementedException ();
- }
-
- public new Freezable CloneCurrentValue ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void CloneCurrentValueCore (Freezable sourceFreezable)
- {
- throw new NotImplementedException ();
- }
-
- protected Freezable CreateInstance ()
- {
- throw new NotImplementedException ();
- }
-
- protected abstract Freezable CreateInstanceCore ();
-
- public void Freeze ()
- {
- throw new NotImplementedException ();
- }
-
- protected static bool Freeze (Freezable freezable,
- bool isChecking)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual bool FreezeCore (bool isChecking)
- {
- throw new NotImplementedException ();
- }
-
- public Freezable GetAsFrozen ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void GetAsFrozenCore (Freezable sourceFreezable)
- {
- throw new NotImplementedException ();
- }
-
- public Freezable GetCurrentValueAsFrozen ()
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void GetCurrentValueAsFrozenCore (Freezable sourceFreezable)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual void OnChanged ()
- {
- throw new NotImplementedException ();
- }
-
- protected void OnFreezablePropertyChanged (DependencyObject oldValue,
- DependencyObject newValue)
-
- {
- throw new NotImplementedException ();
- }
-
- protected void OnFreezablePropertyChanged (DependencyObject oldValue,
- DependencyObject newValue,
- DependencyProperty property)
- {
- throw new NotImplementedException ();
- }
-
- protected override void OnPropertyChanged (DependencyPropertyChangedEventArgs e)
- {
- throw new NotImplementedException ();
- }
-
- protected void ReadPreamble ()
- {
- throw new NotImplementedException ();
- }
-
- protected void WritePostscript ()
- {
- throw new NotImplementedException ();
- }
-
- protected void WritePreamble ()
- {
- throw new NotImplementedException ();
- }
-
- public bool CanFreeze {
- get { return FreezeCore (true); }
- }
-
- public bool IsFrozen {
- get {
- throw new NotImplementedException ();
- }
- }
-
- public event EventHandler Changed;
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-
-namespace System.Windows {
- public interface IWeakEventListener {
- bool ReceiveWeakEvent (Type managerType, object sender, EventArgs e);
- }
-}
+++ /dev/null
-//
-// DependencyPropertyChangedEventArgs.cs
-//
-// Author:
-// Chris Toshok (toshok@ximian.com)
-//
-// (C) 2007 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Converters;
-using System.Windows.Markup;
-
-namespace System.Windows {
-
- [Serializable]
- [TypeConverter (typeof(Int32RectConverter))]
- [ValueSerializer (typeof(Int32RectValueSerializer))]
- public struct Int32Rect : IFormattable
- {
- int x, y, width, height;
-
- public Int32Rect (int x, int y, int width, int height)
- {
- this.x = x;
- this.y = y;
- this.width = width;
- this.height = height;
- }
-
- public static bool operator != (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator == (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- throw new NotImplementedException ();
- }
-
- public static Int32Rect Empty {
- get { return new Int32Rect (0, 0, 0, 0); }
- }
-
- public int Height {
- get { return height; }
- set { height = value; }
- }
-
- public bool IsEmpty {
- get { return width == 0 && height == 0; }
- }
-
- public int Width {
- get { return width; }
- set { width = value; }
- }
-
- public int X {
- get { return x; }
- set { x = value; }
- }
-
- public int Y {
- get { return y; }
- set { y = value; }
- }
-
- public bool Equals (Int32Rect value)
- {
- return (x == value.x &&
- y == value.y &&
- width == value.width &&
- height == value.height);
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Int32Rect))
- return false;
-
- return Equals ((Int32Rect)o);
- }
-
- public static bool Equals (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- return int32Rect1.Equals (int32Rect2);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public static Int32Rect Parse (string source)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- if (IsEmpty)
- return "Empty";
- return String.Format ("{0},{1},{2},{3}", x, y, width, height);
- }
-
- public string ToString (IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- string IFormattable.ToString (string format, IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public sealed class Int32RectConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- return sourceType == typeof (string);
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- return destinationType == typeof (string);
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (!(value is string))
- throw new NotSupportedException ("Int32RectConvert only supports converting from strings");
-
- return Int32Rect.Parse ((string)value);
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return ((Int32Rect)value).ToString (culture);
- }
- }
-}
+++ /dev/null
-//
-// LocalValueEntry.cs
-//
-// Author:
-// Iain McCoy (iain@mccoy.id.au)
-//
-// (C) 2005 Iain McCoy
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Windows {
- public struct LocalValueEntry {
- private DependencyProperty property;
- private object value;
-
- internal LocalValueEntry(DependencyProperty property, object value)
- {
- this.property = property;
- this.value = value;
- }
-
- public DependencyProperty Property {
- get { return property; }
- }
-
- public object Value {
- get { return value; }
- }
-
- public static bool operator != (LocalValueEntry obj1, LocalValueEntry obj2)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator == (LocalValueEntry obj1, LocalValueEntry obj2)
- {
- throw new NotImplementedException ();
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-//
-// LocalValueEnumerator.cs
-//
-// Author:
-// Iain McCoy (iain@mccoy.id.au)
-//
-// (C) 2005 Iain McCoy
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.Windows {
- public struct LocalValueEnumerator : IEnumerator {
- private IDictionaryEnumerator propertyEnumerator;
- private Dictionary<DependencyProperty,object> properties;
-
- private int count;
-
- internal LocalValueEnumerator(Dictionary<DependencyProperty,object> properties)
- {
- this.count = properties.Count;
- this.properties = properties;
- this.propertyEnumerator = properties.GetEnumerator();
- }
-
- public int Count {
- get { return count; }
- }
-
- public LocalValueEntry Current {
- get { return new LocalValueEntry((DependencyProperty)propertyEnumerator.Key,
- propertyEnumerator.Value); }
- }
- object IEnumerator.Current {
- get { return this.Current; }
- }
-
- public bool MoveNext()
- {
- return propertyEnumerator.MoveNext();
- }
- public void Reset()
- {
- propertyEnumerator.Reset();
- }
-
- public static bool operator != (LocalValueEnumerator obj1, LocalValueEnumerator obj2)
- {
- throw new NotImplementedException ();
- }
-
- public static bool operator == (LocalValueEnumerator obj1, LocalValueEnumerator obj2)
- {
- throw new NotImplementedException ();
- }
-
- public override bool Equals (object obj)
- {
- throw new NotImplementedException ();
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using System.Windows.Media;
-using System.Globalization;
-
-namespace System.Windows {
-
- [Serializable]
- [TypeConverter (typeof (PointConverter))]
- [ValueSerializer (typeof (PointValueSerializer))]
- public struct Point : IFormattable
- {
- public Point (double x, double y)
- {
- this.x = x;
- this.y = y;
- }
-
- public double X {
- get { return x; }
- set { x = value; }
- }
-
- public double Y {
- get { return y; }
- set { y = value; }
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Point))
- return false;
- return Equals ((Point)o);
- }
-
- public bool Equals (Point value)
- {
- return x == value.X && y == value.Y;
- }
-
- public override int GetHashCode ()
- {\r
- return (x.GetHashCode() ^ y.GetHashCode());
- }
-
-
- public void Offset (double offsetX, double offsetY)
- {
- x += offsetX;
- y += offsetY;
- }
-
- public static Point Add (Point point, Vector vector)
- {
- return new Point (point.X + vector.X, point.Y + vector.Y);
- }
-
- public static bool Equals (Point point1, Point point2)
- {
- return point1.Equals (point2);
- }
-
- public static Point Multiply (Point point, Matrix matrix)
- {
- return new Point (point.X * matrix.M11 + point.Y * matrix.M21 + matrix.OffsetX,
- point.X * matrix.M12 + point.Y * matrix.M22 + matrix.OffsetY);
- }
-
- public static Vector Subtract (Point point1, Point point2)
- {
- return new Vector (point1.X - point2.X, point1.Y - point2.Y);
- }
-
- public static Point Subtract (Point point, Vector vector)
- {
- return new Point (point.X - vector.X, point.Y - vector.Y);
- }
-
- /* operators */
-
- public static Vector operator -(Point point1, Point point2)
- {
- return Subtract (point1, point2);
- }
-
- public static Point operator -(Point point, Vector vector)
- {
- return Subtract (point, vector);
- }
-
- public static Point operator + (Point point, Vector vector)
- {
- return Add (point, vector);
- }
-
- public static Point operator * (Point point, Matrix matrix)
- {
- return Multiply (point, matrix);
- }
-
- public static bool operator != (Point point1, Point point2)
- {
- return !point1.Equals(point2);
- }
-
- public static bool operator == (Point point1, Point point2)
- {
- return point1.Equals(point2);
- }
-
- public static explicit operator Size (Point point)
- {
- return new Size (point.X, point.Y);
- }
-
- public static explicit operator Vector (Point point)
- {
- return new Vector (point.X, point.Y);
- }
-
- public static Point Parse (string source)
- {\r
- string[] points = source.Split(',');\r
-\r
- if (points.Length<2)\r
- throw new InvalidOperationException ("source does not contain two numbers");\r
- if (points.Length > 2)\r
- throw new InvalidOperationException ("source contains too many delimiters");\r
-\r
- CultureInfo ci = CultureInfo.InvariantCulture;
- return new Point (Convert.ToDouble(points[0],ci), Convert.ToDouble(points[1],ci));
- }
-
- public override string ToString ()
- {\r
- return this.ToString(null, null);
- }
-
- public string ToString (IFormatProvider formatProvider)
- {\r
- return this.ToString(null,formatProvider);
- }
-
- private string ToString(string format,IFormatProvider formatProvider)\r
- {\r
- CultureInfo ci = (CultureInfo)formatProvider;\r
-\r
- if (ci == null)\r
- ci = CultureInfo.CurrentCulture;\r
- string seperator = ci.NumberFormat.NumberDecimalSeparator;\r
- if (seperator.Equals(","))\r
- seperator = ";";\r
- else\r
- seperator = ",";\r
- object[] ob = { this.x, seperator, this.y };\r
-\r
- return string.Format(formatProvider, "{0:" + format + "}{1}{2:" + format + "}", ob);\r
- }
-
- string IFormattable.ToString (string format, IFormatProvider formatProvider)
- {\r
- return this.ToString(format, formatProvider);
- }
-
- double x;
- double y;
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public sealed class PointConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- return sourceType == typeof (string);
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- return destinationType == typeof (string);
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (!(value is string))
- throw new NotSupportedException ("RectConverter only supports converting from strings");
-
- return Point.Parse ((string)value);
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return ((Point)value).ToString (culture);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows {
-
- public delegate void PropertyChangedCallback (DependencyObject d, DependencyPropertyChangedEventArgs e);
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// (C) 2005 Iain McCoy
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows {
- public class PropertyMetadata {
- private object defaultValue;
- private bool isSealed;
- private PropertyChangedCallback propertyChangedCallback;
- private CoerceValueCallback coerceValueCallback;
-
- protected bool IsSealed {
- get { return isSealed; }
- }
-
- public object DefaultValue {
- get { return defaultValue; }
- set {
- if (IsSealed)
- throw new InvalidOperationException ("Cannot change metadata once it has been applied to a property");
- if (value == DependencyProperty.UnsetValue)
- throw new ArgumentException ("Cannot set property metadata's default value to 'Unset'");
-
- defaultValue = value;
- }
- }
-
- public PropertyChangedCallback PropertyChangedCallback {
- get { return propertyChangedCallback; }
- set {
- if (IsSealed)
- throw new InvalidOperationException ("Cannot change metadata once it has been applied to a property");
- propertyChangedCallback = value;
- }
- }
-
- public CoerceValueCallback CoerceValueCallback {
- get { return coerceValueCallback; }
- set {
- if (IsSealed)
- throw new InvalidOperationException ("Cannot change metadata once it has been applied to a property");
- coerceValueCallback = value;
- }
- }
-
- public PropertyMetadata()
- : this (null, null, null)
- {
- }
-
- public PropertyMetadata(object defaultValue)
- : this (defaultValue, null, null)
- {
- }
-
- public PropertyMetadata (PropertyChangedCallback propertyChangedCallback)
- : this (null, propertyChangedCallback, null)
- {
- }
-
- public PropertyMetadata (object defaultValue, PropertyChangedCallback propertyChangedCallback)
- : this (defaultValue, propertyChangedCallback, null)
- {
- }
-
- public PropertyMetadata (object defaultValue, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback)
- {
- if (defaultValue == DependencyProperty.UnsetValue)
- throw new ArgumentException ("Cannot initialize property metadata's default value to 'Unset'");
-
- this.defaultValue = defaultValue;
- this.propertyChangedCallback = propertyChangedCallback;
- this.coerceValueCallback = coerceValueCallback;
- }
-
- protected virtual void Merge (PropertyMetadata baseMetadata, DependencyProperty dp)
- {
- if (defaultValue == null)
- defaultValue = baseMetadata.defaultValue;
- if (propertyChangedCallback == null)
- propertyChangedCallback = baseMetadata.propertyChangedCallback;
- if (coerceValueCallback == null)
- coerceValueCallback = baseMetadata.coerceValueCallback;
- }
-
- protected virtual void OnApply (DependencyProperty dp, Type targetType)
- {
- }
-
- internal void DoMerge (PropertyMetadata baseMetadata, DependencyProperty dp, Type targetType)
- {
- Merge (baseMetadata, dp);
- OnApply (dp, targetType);
- isSealed = true;
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-// Sebastien Pouliot <sebastien@ximian.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using System.Windows.Media;
-
-namespace System.Windows {
-
- [Serializable]
- [ValueSerializer (typeof (RectValueSerializer))]
- [TypeConverter (typeof (RectConverter))]
- public struct Rect : IFormattable
- {
- public Rect (Size size)
- {
- x = y = 0.0;
- width = size.Width;
- height = size.Height;
- }
-
- public Rect (Point point, Vector vector) : this (point, Point.Add (point, vector))
- { }
-
- public Rect (Point point1, Point point2)
- {
- if (point1.X < point2.X) {
- x = point1.X;
- width = point2.X - point1.X;
- }
- else {
- x = point2.X;
- width = point1.X - point2.X;
- }
-
- if (point1.Y < point2.Y) {
- y = point1.Y;
- height = point2.Y - point1.Y;
- }
- else {
- y = point2.Y;
- height = point1.Y - point2.Y;
- }
- }
-
- public Rect (double x, double y, double width, double height)
- {
- if (width < 0 || height < 0)
- throw new ArgumentException ("width and height must be non-negative.");
- this.x = x;
- this.y = y;
- this.width = width;
- this.height = height;
- }
-
- public Rect (Point location, Size size)
- {
- x = location.X;
- y = location.Y;
- width = size.Width;
- height = size.Height;
- }
-
- public bool Equals (Rect rect)
- {
- return (x == rect.X &&
- y == rect.Y &&
- width == rect.Width &&
- height == rect.Height);
- }
-
- public static bool operator != (Rect rect1, Rect rect2)
- {
- return !(rect1.Location == rect2.Location && rect1.Size == rect2.Size);
- }
-
- public static bool operator == (Rect rect1, Rect rect2)
- {
- return rect1.Location == rect2.Location && rect1.Size == rect2.Size;
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Rect))
- return false;
-
- return Equals ((Rect)o);
- }
-
- public static bool Equals (Rect rect1, Rect rect2)
- {
- return rect1.Equals (rect2);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public bool Contains (Rect rect)
- {
- if (rect.Left < this.Left ||
- rect.Right > this.Right)
- return false;
-
- if (rect.Top < this.Top ||
- rect.Bottom > this.Bottom)
- return false;
-
- return true;
- }
-
- public bool Contains (double x, double y)
- {
- if (x < Left || x > Right)
- return false;
- if (y < Top || y > Bottom)
- return false;
-
- return true;
- }
-
- public bool Contains (Point p)
- {
- return Contains (p.X, p.Y);
- }
-
- public static Rect Inflate (Rect rect, double width, double height)
- {
- if (width < rect.Width * -2)
- return Rect.Empty;
- if (height < rect.Height * -2)
- return Rect.Empty;
-
- Rect result = rect;
- result.Inflate (width, height);
- return result;
- }
-
- public static Rect Inflate (Rect rect, Size size)
- {
- return Rect.Inflate (rect, size.Width, size.Height);
- }
-
- public void Inflate (double width, double height)
- {
- // XXX any error checking like in the static case?
- x -= width;
- y -= height;
-
- this.width += 2*width;
- this.height += 2*height;
- }
-
- public void Inflate (Size size)
- {
- Inflate (size.Width, size.Height);
- }
-
- public bool IntersectsWith(Rect rect)
- {
- return !((Left >= rect.Right) || (Right <= rect.Left) ||
- (Top >= rect.Bottom) || (Bottom <= rect.Top));
- }
-
- public void Intersect(Rect rect)
- {
- double _x = Math.Max (x, rect.x);
- double _y = Math.Max (y, rect.y);
- double _width = Math.Min (Right, rect.Right) - _x;
- double _height = Math.Min (Bottom, rect.Bottom) - _y;
-
- if (_width < 0 || _height < 0) {
- x = y = Double.PositiveInfinity;
- width = height = Double.NegativeInfinity;
- }
- else {
- x = _x;
- y = _y;
- width = _width;
- height = _height;
- }
- }
-
- public static Rect Intersect(Rect rect1, Rect rect2)
- {
- Rect result = rect1;
- result.Intersect (rect2);
- return result;
- }
-
- public void Offset(double offsetX, double offsetY)
- {
- x += offsetX;
- y += offsetY;
- }
-
- public static Rect Offset(Rect rect, double offsetX, double offsetY)
- {
- Rect result = rect;
- result.Offset (offsetX, offsetY);
- return result;
- }
-
- public void Offset (Vector offsetVector)
- {
- x += offsetVector.X;
- y += offsetVector.Y;
- }
-
- public static Rect Offset (Rect rect, Vector offsetVector)
- {
- Rect result = rect;
- result.Offset (offsetVector);
- return result;
- }
-
- public void Scale(double scaleX, double scaleY)
- {
- x *= scaleX;
- y *= scaleY;
- width *= scaleX;
- height *= scaleY;
- }
-
- public void Transform (Matrix matrix)
- {
- throw new NotImplementedException ();
- }
-
- public static Rect Transform (Rect rect, Matrix matrix)
- {
- Rect result = rect;
- result.Transform (matrix);
- return result;
- }
-
- public static Rect Union(Rect rect1, Rect rect2)
- {
- Rect result = rect1;
- result.Union (rect2);
- return result;
- }
-
- public static Rect Union(Rect rect, Point point)
- {
- Rect result = rect;
- result.Union (point);
- return result;
- }
-
- public void Union(Rect rect)
- {
- x = Math.Min (x, rect.x);
- y = Math.Min (y, rect.y);
- width = Math.Max (Right, rect.Right) - x;
- height = Math.Max (Bottom, rect.Bottom) - y;
- }
-
- public void Union(Point point)
- {
- Union (new Rect (point, point));
- }
-
- public static Rect Parse (string source)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- if (IsEmpty)
- return "Empty";
-
- return String.Format ("{0},{1},{2},{3}",
- x, y, width, height);
- }
-
- public string ToString (IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- string IFormattable.ToString (string format, IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public static Rect Empty {
- get {
- Rect r = new Rect ();
- r.x = r.y = Double.PositiveInfinity;
- r.width = r.height = Double.NegativeInfinity;
- return r;
- }
- }
-
- public bool IsEmpty {
- get {
- return (x == Double.PositiveInfinity &&
- y == Double.PositiveInfinity &&
- width == Double.NegativeInfinity &&
- height == Double.NegativeInfinity);
- }
- }
-
- public Point Location {
- get {
- return new Point (x, y);
- }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- x = value.X;
- y = value.Y;
- }
- }
-
- public Size Size {
- get {
- return new Size (width, height);
- }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- width = value.Width;
- height = value.Height;
- }
- }
-
- public double X {
- get { return x; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- x = value;
- }
- }
-
- public double Y {
- get { return y; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- y = value;
- }
- }
-
- public double Width {
- get { return width; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- if (value < 0)
- throw new ArgumentException ("width must be non-negative.");
-
- width = value;
- }
- }
-
- public double Height {
- get { return height; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Rect.");
-
- if (value < 0)
- throw new ArgumentException ("height must be non-negative.");
-
- height = value;
- }
- }
-
- public double Left {
- get { return x; }
- }
-
- public double Top {
- get { return y; }
- }
-
- public double Right {
- get { return x + width; }
- }
-
- public double Bottom {
- get { return y + height; }
- }
-
- public Point TopLeft {
- get { return new Point (Left, Top); }
- }
-
- public Point TopRight {
- get { return new Point (Right, Top); }
- }
-
- public Point BottomLeft {
- get { return new Point (Left, Bottom); }
- }
-
- public Point BottomRight {
- get { return new Point (Right, Bottom); }
- }
-
- double x;
- double y;
- double width;
- double height;
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public sealed class RectConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- return sourceType == typeof (string);
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- return destinationType == typeof (string);
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (!(value is string))
- throw new NotSupportedException ("RectConverter only supports converting from strings");
-
- return Rect.Parse ((string)value);
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return ((Rect)value).ToString (culture);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Converters;
-using System.Windows.Markup;
-
-namespace System.Windows {
-
- [Serializable]
- [ValueSerializer (typeof (SizeValueSerializer))]
- [TypeConverter (typeof (SizeConverter))]
- public struct Size : IFormattable
- {
- public Size (double width, double height)
- {
- if (width < 0 || height < 0)
- throw new ArgumentException ("Width and Height must be non-negative.");
-
- this.width = width;
- this.height = height;
- }
-
- public bool Equals (Size value)
- {
- return width == value.Width && height == value.Height;
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Size))
- return false;
-
- return Equals ((Size)o);
- }
-
- public static bool Equals (Size size1, Size size2)
- {
- return size1.Equals (size2);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- public static Size Parse (string source)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- if (IsEmpty)
- return "Empty";
- return String.Format ("{0},{1}", width, height);
- }
-
- public string ToString (IFormatProvider formatProvider)
- {
- throw new NotImplementedException ();
- }
-
- string IFormattable.ToString (string format, IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public bool IsEmpty {
- get {
- return (width == Double.NegativeInfinity &&
- height == Double.NegativeInfinity);
- }
- }
-
- public double Height {
- get { return height; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Size.");
-
- if (value < 0)
- throw new ArgumentException ("height must be non-negative.");
-
- height = value;
- }
- }
-
- public double Width {
- get { return width; }
- set {
- if (IsEmpty)
- throw new InvalidOperationException ("Cannot modify this property on the Empty Size.");
-
- if (value < 0)
- throw new ArgumentException ("width must be non-negative.");
-
- width = value;
- }
- }
-
- public static Size Empty {
- get {
- Size s = new Size ();
- s.width = s.height = Double.NegativeInfinity;
- return s;
- }
- }
-
- /* operators */
- public static explicit operator Point (Size size)
- {
- return new Point (size.Width, size.Height);
- }
-
- public static explicit operator Vector (Size size)
- {
- return new Vector (size.Width, size.Height);
- }
-
- public static bool operator ==(Size size1, Size size2)
- {
- return size1.Equals (size2);
- }
-
- public static bool operator !=(Size size1, Size size2)
- {
- return !size1.Equals (size2);
- }
-
- double width;
- double height;
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public sealed class SizeConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- return sourceType == typeof (string);
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- return destinationType == typeof (string);
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (!(value is string))
- throw new NotSupportedException ("SizeConverter only supports converting from strings");
-
- return Size.Parse ((string)value);
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return ((Size)value).ToString (culture);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-namespace System.Windows {
-
- public delegate bool ValidateValueCallback (object value);
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@novell.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using System.Windows.Media;
-
-namespace System.Windows {
-
- [Serializable]
- [ValueSerializer (typeof (VectorValueSerializer))]
- [TypeConverter (typeof (VectorConverter))]
- public struct Vector : IFormattable
- {
- public Vector (double x, double y)
- {
- this.x = x;
- this.y = y;
- }
-
- public bool Equals (Vector value)
- {
- return x == value.X && y == value.Y;
- }
-
- public override bool Equals (object o)
- {
- if (!(o is Vector))
- return false;
-
- return Equals ((Vector)o);
- }
-
- public override int GetHashCode ()
- {
- throw new NotImplementedException ();
- }
-
- string IFormattable.ToString(string format, IFormatProvider formatProvider) {
- throw new NotImplementedException ();
- }
-
- public static bool Equals (Vector vector1, Vector vector2)
- {
- return vector1.Equals (vector2);
- }
-
- public static Point Add (Vector vector, Point point)
- {
- return new Point (vector.X + point.X, vector.Y + point.Y);
- }
-
- public static Vector Add (Vector vector1, Vector vector2)
- {
- return new Vector (vector1.X + vector2.X,
- vector1.Y + vector2.Y);
- }
-
- public static double AngleBetween (Vector vector1, Vector vector2)
- {
- double cos_theta = (vector1.X * vector2.X + vector1.Y * vector2.Y) / (vector1.Length * vector2.Length);
-
- return Math.Acos (cos_theta) / Math.PI * 180;
- }
-
- public static double CrossProduct (Vector vector1, Vector vector2)
- {
- // ... what operation is this exactly?
- return vector1.X * vector2.Y - vector1.Y * vector2.X;
- }
-
- public static double Determinant (Vector vector1, Vector vector2)
- {
- // same as CrossProduct, it appears.
- return vector1.X * vector2.Y - vector1.Y * vector2.X;
- }
-
- public static Vector Divide (Vector vector, double scalar)
- {
- return new Vector (vector.X / scalar, vector.Y / scalar);
- }
-
- public static double Multiply (Vector vector1, Vector vector2)
- {
- return vector1.X * vector2.X + vector1.Y * vector2.Y;
- }
-
- public static Vector Multiply (Vector vector, Matrix matrix)
- {
- return new Vector (vector.X * matrix.M11 + vector.Y * matrix.M21,
- vector.X * matrix.M12 + vector.Y * matrix.M22);
- }
-
- public static Vector Multiply (double scalar, Vector vector)
- {
- return new Vector (scalar * vector.X, scalar * vector.Y);
- }
-
- public static Vector Multiply (Vector vector, double scalar)
- {
- return new Vector (scalar * vector.X, scalar * vector.Y);
- }
-
- public void Negate ()
- {
- x = -x;
- y = -y;
- }
-
- public void Normalize ()
- {
- double ls = LengthSquared;
- if (ls == 1)
- return;
-
- double l = Math.Sqrt (ls);
- x /= l;
- y /= l;
- }
-
- public static Vector Subtract (Vector vector1, Vector vector2)
- {
- return new Vector (vector1.X - vector2.X, vector1.Y - vector2.Y);
- }
-
- public static Vector Parse (string source)
- {
- throw new NotImplementedException ();
- }
-
- public override string ToString ()
- {
- return String.Format ("{0},{1}", x, y);
- }
-
- public string ToString (IFormatProvider provider)
- {
- throw new NotImplementedException ();
- }
-
- public double Length {
- get { return Math.Sqrt (LengthSquared); }
- }
-
- public double LengthSquared {
- get { return x * x + y * y; }
- }
-
- public double X {
- get { return x; }
- set { x = value; }
- }
-
- public double Y {
- get { return y; }
- set { y = value; }
- }
-
- /* operators */
- public static explicit operator Point (Vector vector)
- {
- return new Point (vector.X, vector.Y);
- }
-
- public static explicit operator Size (Vector vector)
- {
- return new Size (vector.X, vector.Y);
- }
-
- public static Vector operator - (Vector vector1, Vector vector2)
- {
- return Subtract (vector1, vector2);
- }
-
- public static Vector operator - (Vector vector)
- {
- Vector result = vector;
- result.Negate ();
- return result;
- }
-
- public static bool operator != (Vector vector1, Vector vector2)
- {
- return !Equals (vector1, vector2);
- }
-
- public static bool operator == (Vector vector1, Vector vector2)
- {
- return Equals (vector1, vector2);
- }
-
- public static double operator * (Vector vector1, Vector vector2)
- {
- return Multiply (vector1, vector2);
- }
-
- public static Vector operator * (Vector vector, Matrix matrix)
- {
- return Multiply (vector, matrix);
- }
-
- public static Vector operator * (double scalar, Vector vector)
- {
- return Multiply (scalar, vector);
- }
-
- public static Vector operator * (Vector vector, double scalar)
- {
- return Multiply (vector, scalar);
- }
-
- public static Vector operator / (Vector vector, double scalar)
- {
- return Divide (vector, scalar);
- }
-
- public static Point operator + (Vector vector, Point point)
- {
- return Add (vector, point);
- }
-
- public static Vector operator + (Vector vector1, Vector vector2)
- {
- return Add (vector1, vector2);
- }
-
- double x;
- double y;
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok <toshok@novell.com>
-//
-
-using System;
-using System.ComponentModel;
-using System.Globalization;
-
-namespace System.Windows {
-
- public sealed class VectorConverter : TypeConverter
- {
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
- {
- return sourceType == typeof (string);
- }
-
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
- {
- return destinationType == typeof (string);
- }
-
- public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
- {
- if (!(value is string))
- throw new NotSupportedException ("VectorConverter only supports converting from strings");
-
- return Vector.Parse ((string)value);
- }
-
- public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return ((Vector)value).ToString (culture);
- }
- }
-}
+++ /dev/null
-//
-// WeakEventManager.cs
-//
-// Author:
-// Chris Toshok (toshok@ximian.com)
-//
-// (C) 2007 Novell, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Windows.Threading;
-
-namespace System.Windows {
-
- public abstract class WeakEventManager : DispatcherObject
- {
- protected WeakEventManager ()
- {
- throw new NotImplementedException ();
- }
-
- protected IDisposable ReadLock {
- get { throw new NotImplementedException (); }
- }
-
- protected IDisposable WriteLock {
- get { throw new NotImplementedException (); }
- }
-
- protected object this [object source] {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-
- protected void DeliverEvent (object sender, EventArgs args)
- {
- throw new NotImplementedException ();
- }
-
- protected void DeliverEventToList (object sender, EventArgs args, WeakEventManager.ListenerList list)
- {
- throw new NotImplementedException ();
- }
-
- protected void ProtectedAddListener (object source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- protected void ProtectedRemoveListener (object source, IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- protected virtual bool Purge (object source, object data, bool purgeAll)
- {
- throw new NotImplementedException ();
- }
-
- protected void Remove (object source)
- {
- throw new NotImplementedException ();
- }
-
- protected void ScheduleCleanup ()
- {
- throw new NotImplementedException ();
- }
-
- protected abstract void StartListening (object source);
- protected abstract void StopListening (object source);
-
-
- protected static WeakEventManager GetCurrentManager (Type managerType)
- {
- throw new NotImplementedException ();
- }
-
- protected static void SetCurrentManager (Type managerType, WeakEventManager manager)
- {
- throw new NotImplementedException ();
- }
-
-
- protected class ListenerList
- {
- public ListenerList ()
- {
- throw new NotImplementedException ();
- }
-
- public ListenerList (int capacity)
- {
- throw new NotImplementedException ();
- }
-
- public int Count {
- get { throw new NotImplementedException (); }
- }
-
- public static WeakEventManager.ListenerList Empty {
- get { throw new NotImplementedException (); }
- }
-
- public bool IsEmpty {
- get { throw new NotImplementedException (); }
- }
-
- public IWeakEventListener this[int index] {
- get { throw new NotImplementedException (); }
- }
-
- public void Add (IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
-
- private void BeginUse ()
- {
- throw new NotImplementedException ();
- }
-
- public WeakEventManager.ListenerList Clone ()
- {
- throw new NotImplementedException ();
- }
-
- public void EndUse ()
- {
- throw new NotImplementedException ();
- }
-
- public static bool PrepareForWriting (ref WeakEventManager.ListenerList list)
- {
- throw new NotImplementedException ();
- }
-
- public bool Purge ()
- {
- throw new NotImplementedException ();
- }
-
- public void Remove (IWeakEventListener listener)
- {
- throw new NotImplementedException ();
- }
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System.Collections.ObjectModel;
-using System.Collections.Specialized;
-using NUnit.Framework;
-using System.ComponentModel;
-using System.Collections.Generic;
-using System;
-using System.Collections;
-using MonoTests.System.Collections.Specialized;
-
-namespace MonoTests.System.Collections.ObjectModel {
-
- [TestFixture]
- public class ObservableCollectionTest {
-
- public ObservableCollectionTest()
- {
- }
-
- [Test]
- public void Insert()
- {
- bool reached = false;
- ObservableCollection<int> col = new ObservableCollection<int> ();
- col.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- reached = true;
- Assert.AreEqual (NotifyCollectionChangedAction.Add, e.Action, "INS_1");
- Assert.AreEqual (0, e.NewStartingIndex, "INS_2");
- Assert.AreEqual (-1, e.OldStartingIndex, "INS_3");
- Assert.AreEqual (1, e.NewItems.Count, "INS_4");
- Assert.AreEqual (5, (int)e.NewItems [0], "INS_5");
- Assert.AreEqual (null, e.OldItems, "INS_6");
- };
- col.Insert (0, 5);
- Assert.IsTrue (reached, "INS_5");
- }
-
- [Test]
- public void RemoveAt()
- {
- bool reached = false;
- ObservableCollection<int> col = new ObservableCollection<int> ();
- col.Insert (0, 5);
- col.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- reached = true;
- Assert.AreEqual (NotifyCollectionChangedAction.Remove, e.Action, "REMAT_1");
- Assert.AreEqual (-1, e.NewStartingIndex, "REMAT_2");
- Assert.AreEqual (0, e.OldStartingIndex, "REMAT_3");
- Assert.AreEqual (null, e.NewItems, "REMAT_4");
- Assert.AreEqual (1, e.OldItems.Count, "REMAT_5");
- Assert.AreEqual (5, (int)e.OldItems [0], "REMAT_6");
- };
- col.RemoveAt (0);
- Assert.IsTrue (reached, "REMAT_7");
- }
-
- [Test]
- public void Move()
- {
- bool reached = false;
- ObservableCollection<int> col = new ObservableCollection<int> ();
- col.Insert (0, 0);
- col.Insert (1, 1);
- col.Insert (2, 2);
- col.Insert (3, 3);
- col.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- reached = true;
- Assert.AreEqual (NotifyCollectionChangedAction.Move, e.Action, "MOVE_1");
- Assert.AreEqual (3, e.NewStartingIndex, "MOVE_2");
- Assert.AreEqual (1, e.OldStartingIndex, "MOVE_3");
- Assert.AreEqual (1, e.NewItems.Count, "MOVE_4");
- Assert.AreEqual (1, e.NewItems [0], "MOVE_5");
- Assert.AreEqual (1, e.OldItems.Count, "MOVE_6");
- Assert.AreEqual (1, e.OldItems [0], "MOVE_7");
- };
- col.Move (1, 3);
- Assert.IsTrue (reached, "MOVE_8");
- }
-
- [Test]
- public void Add()
- {
- ObservableCollection<char> collection = new ObservableCollection<char> ();
- bool propertyChanged = false;
- List<string> changedProps = new List<string> ();
- NotifyCollectionChangedEventArgs args = null;
-
- ((INotifyPropertyChanged)collection).PropertyChanged += delegate (object sender, PropertyChangedEventArgs e) {
- propertyChanged = true;
- changedProps.Add (e.PropertyName);
- };
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- args = e;
- };
-
- collection.Add ('A');
-
- Assert.IsTrue (propertyChanged, "ADD_1");
- Assert.IsTrue (changedProps.Contains ("Count"), "ADD_2");
- Assert.IsTrue (changedProps.Contains ("Item[]"), "ADD_3");
-
- CollectionChangedEventValidators.ValidateAddOperation (args, new char [] { 'A' }, 0, "ADD_4");
- }
-
- [Test]
- public void Remove()
- {
- ObservableCollection<char> collection = new ObservableCollection<char> ();
- bool propertyChanged = false;
- List<string> changedProps = new List<string> ();
- NotifyCollectionChangedEventArgs args = null;
-
- collection.Add ('A');
- collection.Add ('B');
- collection.Add ('C');
-
- ((INotifyPropertyChanged)collection).PropertyChanged += delegate (object sender, PropertyChangedEventArgs e) {
- propertyChanged = true;
- changedProps.Add (e.PropertyName);
- };
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- args = e;
- };
-
- collection.Remove ('B');
-
- Assert.IsTrue (propertyChanged, "REM_1");
- Assert.IsTrue (changedProps.Contains ("Count"), "REM_2");
- Assert.IsTrue (changedProps.Contains ("Item[]"), "REM_3");
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, new char [] { 'B' }, 1, "REM_4");
- }
-
- [Test]
- public void Set()
- {
- ObservableCollection<char> collection = new ObservableCollection<char> ();
- bool propertyChanged = false;
- List<string> changedProps = new List<string> ();
- NotifyCollectionChangedEventArgs args = null;
-
- collection.Add ('A');
- collection.Add ('B');
- collection.Add ('C');
-
- ((INotifyPropertyChanged)collection).PropertyChanged += delegate (object sender, PropertyChangedEventArgs e) {
- propertyChanged = true;
- changedProps.Add (e.PropertyName);
- };
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- args = e;
- };
-
- collection [2] = 'I';
-
- Assert.IsTrue (propertyChanged, "SET_1");
- Assert.IsTrue (changedProps.Contains ("Item[]"), "SET_2");
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new char [] { 'C' }, new char [] { 'I' }, 2, "SET_3");
- }
-
- [Test]
- public void Reentrant()
- {
- ObservableCollection<char> collection = new ObservableCollection<char> ();
- bool propertyChanged = false;
- List<string> changedProps = new List<string> ();
- NotifyCollectionChangedEventArgs args = null;
-
- collection.Add ('A');
- collection.Add ('B');
- collection.Add ('C');
-
- PropertyChangedEventHandler pceh = delegate (object sender, PropertyChangedEventArgs e) {
- propertyChanged = true;
- changedProps.Add (e.PropertyName);
- };
-
- // Adding a PropertyChanged event handler
- ((INotifyPropertyChanged)collection).PropertyChanged += pceh;
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- args = e;
- };
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- // This one will attempt to break reentrancy
- try {
- collection.Add ('X');
- Assert.Fail ("Reentrancy should not be allowed.");
- } catch (InvalidOperationException) {
- }
- };
-
- collection [2] = 'I';
-
- Assert.IsTrue (propertyChanged, "REENT_1");
- Assert.IsTrue (changedProps.Contains ("Item[]"), "REENT_2");
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new char [] { 'C' }, new char [] { 'I' }, 2, "REENT_3");
-
- // Removing the PropertyChanged event handler should work as well:
- ((INotifyPropertyChanged)collection).PropertyChanged -= pceh;
- }\r
-\r
- //Private test class for protected members of ObservableCollection\r
- private class ObservableCollectionTestHelper : ObservableCollection<char> {\r
- internal void DoubleEnterReentrant()\r
- {\r
- IDisposable object1 = BlockReentrancy ();\r
- IDisposable object2 = BlockReentrancy ();\r
-\r
- Assert.AreSame (object1, object2);\r
-\r
- //With double block, try the reentrant:\r
- NotifyCollectionChangedEventArgs args = null;\r
-\r
- CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {\r
- args = e;\r
- };\r
-\r
- // We need a second callback for reentrancy to matter\r
- CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {\r
- // Doesn't need to do anything; just needs more than one callback registered.\r
- };\r
-\r
- // Try adding - this should cause reentrancy, and fail\r
- try {\r
- Add ('I');\r
- Assert.Fail ("Reentrancy should not be allowed. -- #2");\r
- } catch (InvalidOperationException) {\r
- }\r
- \r
- // Release the first reentrant\r
- object1.Dispose ();\r
-\r
- // Try adding again - this should cause reentrancy, and fail again\r
- try {\r
- Add ('J');\r
- Assert.Fail ("Reentrancy should not be allowed. -- #3");\r
- } catch (InvalidOperationException) {\r
- }\r
-\r
- // Release the reentrant a second time\r
- object1.Dispose ();\r
-\r
- // This last add should work fine.\r
- Add ('K');\r
- CollectionChangedEventValidators.ValidateAddOperation (args, new char [] { 'K' }, 0, "REENTHELP_1");\r
- }\r
- }\r
-\r
- [Test]\r
- public void ReentrantReuseObject()\r
- {\r
- ObservableCollectionTestHelper helper = new ObservableCollectionTestHelper ();\r
-\r
- helper.DoubleEnterReentrant ();\r
- }
-
- [Test]
- public void Clear()
- {
- List<char> initial = new List<char> ();
-
- initial.Add ('A');
- initial.Add ('B');
- initial.Add ('C');
-
- ObservableCollection<char> collection = new ObservableCollection<char> (initial);
- bool propertyChanged = false;
- List<string> changedProps = new List<string> ();
- NotifyCollectionChangedEventArgs args = null;
-
- ((INotifyPropertyChanged)collection).PropertyChanged += delegate (object sender, PropertyChangedEventArgs e) {
- propertyChanged = true;
- changedProps.Add (e.PropertyName);
- };
-
- collection.CollectionChanged += delegate (object sender, NotifyCollectionChangedEventArgs e) {
- args = e;
- };
-
- collection.Clear ();
-
- Assert.IsTrue (propertyChanged, "CLEAR_1");
- Assert.IsTrue (changedProps.Contains ("Count"), "CLEAR_2");
- Assert.IsTrue (changedProps.Contains ("Item[]"), "CLEAR_3");
-
- CollectionChangedEventValidators.ValidateResetOperation (args, "CLEAR_4");
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Authors:
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Collections.Specialized;
-using System.ComponentModel;
-using MonoTests.System.Collections.Specialized;
-using NUnit.Framework;
-
-namespace MonoTests.System.Collections.ObjectModel {
-
- [TestFixture]
- public class ReadOnlyObservableCollectionTest {
- [Test]
- public void ClassTest()
- {
- // Because the collection cannot change, check to make sure exceptions are thrown for modifications.
-
- List<char> initial = new List<char> ();
- initial.Add ('A');
- initial.Add ('B');
- initial.Add ('C');
-
- ObservableCollection<char> collection = new ObservableCollection<char> (initial);
- ReadOnlyObservableCollection<char> readOnlyCollection = new ReadOnlyObservableCollection<char> (collection);
-
- // Test the events
-
- PropertyChangedEventHandler pceh = delegate (object sender, PropertyChangedEventArgs e) {
- Assert.Fail ("No properties should change.");
- };
-
- NotifyCollectionChangedEventHandler ncceh = delegate (object sender, NotifyCollectionChangedEventArgs e) {
- Assert.Fail ("The collection should not change.");
- };
-
- ((INotifyPropertyChanged)readOnlyCollection).PropertyChanged += pceh;
-
- ((INotifyCollectionChanged)readOnlyCollection).CollectionChanged += ncceh;
-
- // Done with the events.
- ((INotifyPropertyChanged)readOnlyCollection).PropertyChanged -= pceh;
-
- ((INotifyCollectionChanged)readOnlyCollection).CollectionChanged -= ncceh;
-
- Assert.AreEqual (3, readOnlyCollection.Count, "RO_1");
- CollectionChangedEventValidators.AssertEquivalentLists (initial, readOnlyCollection, "RO_2");
-
- // Modifying the underlying collection
-
- bool propChanged = false;
-
- pceh = delegate (object sender, PropertyChangedEventArgs e) {
- propChanged = true;
- };
-
- ncceh = delegate (object sender, NotifyCollectionChangedEventArgs e) {
- CollectionChangedEventValidators.ValidateAddOperation (e, new char [] { 'I' }, 3, "RO_3");
- };
-
- ((INotifyPropertyChanged)readOnlyCollection).PropertyChanged += pceh;
-
- ((INotifyCollectionChanged)readOnlyCollection).CollectionChanged += ncceh;
-
- // In theory, this will cause the properties to change.
- collection.Add ('I');
-
- Assert.IsTrue (propChanged, "RO_4");
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Authors:
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System.Collections;
-using NUnit.Framework;
-using System.Collections.Specialized;
-namespace MonoTests.System.Collections.Specialized {
-
- internal static class CollectionChangedEventValidators {
- #region Validators
-
- internal static void AssertEquivalentLists(IList expected, IList actual, string message)
- {
- if (expected == null) {
- Assert.IsNull (actual, "LISTEQ_1A::" + message);
- return;
- } else
- Assert.IsNotNull (actual, "LISTEQ_1B::" + message);
-
- Assert.AreEqual (expected.Count, actual.Count, "LISTEQ_2::" + message);
-
- for (int i = 0; i < expected.Count; i++)
- Assert.AreEqual (expected [i], actual [i], "LISTEQ_3::" + message);
- }
-
- private static void ValidateCommon(NotifyCollectionChangedEventArgs args, NotifyCollectionChangedAction action, IList newItems, IList oldItems, int newIndex, int oldIndex, string message)
- {
- Assert.IsNotNull (args, "NCCVAL_1::" + message);
-
- Assert.AreEqual (action, args.Action, "NCCVAL_2::" + message);
-
- AssertEquivalentLists (newItems, args.NewItems, "NCCVAL_3::" + message);
- AssertEquivalentLists (oldItems, args.OldItems, "NCCVAL_4::" + message);
-
- Assert.AreEqual (newIndex, args.NewStartingIndex, "NCCVAL_5::" + message);
- Assert.AreEqual (oldIndex, args.OldStartingIndex, "NCCVAL_6::" + message);
- }
-
- internal static void ValidateResetOperation(NotifyCollectionChangedEventArgs args, string message)
- {
- ValidateCommon (args, NotifyCollectionChangedAction.Reset, null, null, -1, -1, message);
- }
-
- internal static void ValidateAddOperation(NotifyCollectionChangedEventArgs args, IList newItems, string message)
- {
- ValidateAddOperation (args, newItems, -1, message);
- }
-
- internal static void ValidateAddOperation(NotifyCollectionChangedEventArgs args, IList newItems, int startIndex, string message)
- {
- ValidateCommon (args, NotifyCollectionChangedAction.Add, newItems, null, startIndex, -1, message);
- }
-
- internal static void ValidateRemoveOperation(NotifyCollectionChangedEventArgs args, IList oldItems, string message)
- {
- ValidateRemoveOperation (args, oldItems, -1, message);
- }
-
- internal static void ValidateRemoveOperation(NotifyCollectionChangedEventArgs args, IList oldItems, int startIndex, string message)
- {
- ValidateCommon (args, NotifyCollectionChangedAction.Remove, null, oldItems, -1, startIndex, message);
- }
-
- internal static void ValidateReplaceOperation(NotifyCollectionChangedEventArgs args, IList oldItems, IList newItems, string message)
- {
- ValidateReplaceOperation (args, oldItems, newItems, -1, message);
- }
-
- internal static void ValidateReplaceOperation(NotifyCollectionChangedEventArgs args, IList oldItems, IList newItems, int startIndex, string message)
- {
- ValidateCommon (args, NotifyCollectionChangedAction.Replace, newItems, oldItems, startIndex, startIndex, message);
- }
-
- internal static void ValidateMoveOperation(NotifyCollectionChangedEventArgs args, IList changedItems, int newIndex, int oldIndex, string message)
- {
- ValidateCommon (args, NotifyCollectionChangedAction.Move, changedItems, changedItems, newIndex, oldIndex, message);
- }
-
- #endregion
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Authors:
-// Brian O'Keefe (zer0keefie@gmail.com)
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using NUnit.Framework;
-
-namespace MonoTests.System.Collections.Specialized {
- [TestFixture]
- public class NotifyCollectionChangedEventArgsTest {
- public NotifyCollectionChangedEventArgsTest()
- {
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor1Test()
- {
- /* Expected Behavior:
- *
- * If action is Reset, success.
- * If action is not Reset, throw an ArgumentException
- */
-
- // Trying with Reset
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset);
-
- CollectionChangedEventValidators.ValidateResetOperation (args, "#A01");
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor2Test()
- {
- /* Expected Behavior:
- *
- * If action is Add, success.
- * If action is Remove, success.
- * If action is Reset:
- * If changedItems is null, success.
- * If changedItems is non-null, throw an Argument Exception
- * If action is Move or Replace, throw an Argument Exception
- */
-
- IList changedItems = new List<object> ();
-
- // Trying with Add
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItems);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, changedItems, "#B01");
-
- // Trying to add a null array
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, (IList)null);
- Assert.Fail ("Cannot call .ctor if changedItems is null.");
- } catch (ArgumentNullException) {
- }
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItems);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, changedItems, "#B02");
-
- // Trying with Reset (works if changedItems is null)
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (IList)null);
-
- CollectionChangedEventValidators.ValidateResetOperation (args, "#B03");
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changedItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changedItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
-
- // Add some items, and repeat
- changedItems.Add (new object ());
- changedItems.Add (new object ());
- changedItems.Add (new object ());
-
- // Trying with Add
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItems);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, changedItems, "#B04");
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItems);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, changedItems, "#B05");
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor3Test()
- {
- /* Expected Behavior:
- *
- * If action is Add, success.
- * If action is Remove, success.
- * If action is Reset:
- * If changedItem is null, success.
- * If changedItem is non-null, throw an Argument Exception
- * If action is Move or Replace, throw an Argument Exception
- */
-
- object changedItem = new object ();
-
- // Trying with Add
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItem);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, new object [] { changedItem }, "#C01");
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItem);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, new object [] { changedItem }, "#C02");
-
- // Trying with Reset
-
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (object)null);
-
- CollectionChangedEventValidators.ValidateResetOperation (args, "#C03");
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changedItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changedItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor4Test()
- {
- /* Expected Behavior:
- *
- * If action is Replace:
- * If newItems is null, throw an ArgumentNullException.
- * If oldItems is null, throw an ArgumentNullException
- * Otherwise, success.
- * If action is not Replace, throw an ArgumentException
- */
-
- IList newItems = new List<object> ();
- IList oldItems = new List<object> ();
-
- // Trying with Replace
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, "#D01");
-
- // Add some items to test this one.
- newItems.Add (new object ());
- newItems.Add (new object ());
- newItems.Add (new object ());
-
- // Trying with Replace again
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, "#D02");
-
- // Add some more items to test this one.
- oldItems.Add (new object ());
- oldItems.Add (new object ());
- oldItems.Add (new object ());
-
- // Trying with Replace again
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, "#D03");
-
- // Trying with null arguments.
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, (IList)null, oldItems);
- Assert.Fail ("The newItems argument cannot be null.");
- } catch (ArgumentNullException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, (IList)null);
- Assert.Fail ("The oldItems argument cannot be null.");
- } catch (ArgumentNullException) {
- }
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, newItems, oldItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, newItems, oldItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, newItems, oldItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, newItems, oldItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor5Test()
- {
- /* Expected Behavior:
- *
- * If action is Add or Remove:
- * If changedItems is null, throw an ArgumentNullException.
- * If startingIndex < -1, throw an ArgumentException
- * Otherwise, success.
- * If action is Reset:
- * If changedItems is non-null, throw an ArgumentException
- * If startingIndex != 0, throw an ArgumentException
- * Otherwise, success.
- * If action is Move or Replace, throw an ArgumentException
- */
-
- IList changedItems = new List<object> ();
- int startingIndex = 5; // Doesn't matter what the value of this is.
-
- // Trying with Add
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItems, startingIndex);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, changedItems, startingIndex, "#E01");
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItems, startingIndex);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, changedItems, startingIndex, "#E02");
-
- // Add some items to test this one.
- changedItems.Add (new object ());
- changedItems.Add (new object ());
- changedItems.Add (new object ());
-
- // Trying with Add
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItems, startingIndex);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, changedItems, startingIndex, "#E03");
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItems, -5);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add if startingIndex < -1.");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, (IList)null, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add if changedItems is null.");
- } catch (ArgumentNullException) {
- }
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItems, startingIndex);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, changedItems, startingIndex, "#E04");
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItems, -5);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove if startingIndex < -1.");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, (IList)null, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove if changedItems is null.");
- } catch (ArgumentNullException) {
- }
-
- // Trying with Reset
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (IList)null, -1);
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItems, -1);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset unless changeItems is null");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (IList)null, 1);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset unless startingIndex is -1");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItems, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changedItems, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changedItems, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor6Test()
- {
- object changedItem = new object ();
- int startingIndex = 5; // Doesn't matter what the value of this is.
-
- // Trying with Add
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changedItem, startingIndex);
-
- CollectionChangedEventValidators.ValidateAddOperation (args, new object [] { changedItem }, startingIndex, "#F01");
-
- // Trying with Remove
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changedItem, startingIndex);
-
- CollectionChangedEventValidators.ValidateRemoveOperation (args, new object [] { changedItem }, startingIndex, "#F02");
-
- // Trying with Reset
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (object)null, -1);
-
- CollectionChangedEventValidators.ValidateResetOperation (args, "#F03");
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItem, -1);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset unless changeItems is null");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, (object)null, 1);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset unless startingIndex is -1");
- } catch (ArgumentException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changedItem, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changedItem, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changedItem, startingIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor7Test()
- {
- object oldItem = new object ();
- object newItem = new object (); // Doesn't matter what the value of this is.
-
- // Trying with Add
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItem, oldItem);
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new object [] { oldItem }, new object [] { newItem }, "#G01");
-
- // Trying null items
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, (object)null, oldItem);
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new object [] { oldItem }, new object [] { null }, "#G02");
-
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItem, (object)null);
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new object [] { null }, new object [] { newItem }, "#G03");
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, newItem, oldItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, newItem, oldItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, newItem, oldItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, newItem, oldItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor8Test()
- {
- IList newItems = new List<object> ();
- IList oldItems = new List<object> ();
- int startIndex = 5;
-
- // Trying with Replace
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems, startIndex);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, startIndex, "#H01");
-
- // Add some items to test this one.
- newItems.Add (new object ());
- newItems.Add (new object ());
- newItems.Add (new object ());
-
- // Trying with Replace again
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems, startIndex);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, startIndex, "#H02");
-
- // Add some more items to test this one.
- oldItems.Add (new object ());
- oldItems.Add (new object ());
- oldItems.Add (new object ());
-
- // Trying with Replace again
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, oldItems, startIndex);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, oldItems, newItems, startIndex, "#H03");
-
- // Trying with null arguments.
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, (IList)null, oldItems, startIndex);
- Assert.Fail ("The newItems argument cannot be null.");
- } catch (ArgumentNullException) {
- }
-
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItems, (IList)null, startIndex);
- Assert.Fail ("The oldItems argument cannot be null.");
- } catch (ArgumentNullException) {
- }
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, newItems, oldItems, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, newItems, oldItems, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, newItems, oldItems, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, newItems, oldItems);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor9Test()
- {
- IList changed = new List<object> ();
- int newIndex = 2;
- int oldIndex = 5;
-
- // Trying with Replace
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changed, newIndex, oldIndex);
-
- CollectionChangedEventValidators.ValidateMoveOperation (args, changed, newIndex, oldIndex, "#I01");
-
- // Add some items to test this one.
- changed.Add (new object ());
- changed.Add (new object ());
- changed.Add (new object ());
-
- // Trying with Replace again
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changed, newIndex, oldIndex);
-
- CollectionChangedEventValidators.ValidateMoveOperation (args, changed, newIndex, oldIndex, "#I02");
-
- // Trying with newIndex < 0.
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changed, -5, oldIndex);
- Assert.Fail ("The index argument cannot be less than 0.");
- } catch (ArgumentException) {
- }
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor10Test()
- {
- object changed = new object ();
- int newIndex = 2;
- int oldIndex = 5;
-
- // Trying with Replace
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changed, newIndex, oldIndex);
-
- CollectionChangedEventValidators.ValidateMoveOperation (args, new object [] { changed }, newIndex, oldIndex, "#J01");
-
- // Trying with newIndex < 0.
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, changed, -5, oldIndex);
- Assert.Fail ("The newIndex argument cannot be less than 0.");
- } catch (ArgumentException) {
- }
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Replace
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Replace.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, changed, newIndex, oldIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
-
- [Test]
- public void NotifyCollectionChangedEventArgsConstructor11Test()
- {
- object newItem = new object ();
- object oldItem = new object ();
- int startIndex = 5;
-
- // Trying with Replace
- NotifyCollectionChangedEventArgs args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Replace, newItem, oldItem, startIndex);
-
- CollectionChangedEventValidators.ValidateReplaceOperation (args, new object [] { oldItem }, new object [] { newItem }, startIndex, "#K01");
-
- // Trying with Reset
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Reset, newItem, oldItem, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Reset.");
- } catch (ArgumentException) {
- }
-
- // Trying with Move
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Move, newItem, oldItem, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Move.");
- } catch (ArgumentException) {
- }
-
- // Trying with Add
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Add, newItem, oldItem, startIndex);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Add.");
- } catch (ArgumentException) {
- }
-
- // Trying with Remove
- try {
- args = new NotifyCollectionChangedEventArgs (NotifyCollectionChangedAction.Remove, newItem, oldItem);
- Assert.Fail ("Should not be able to call .ctor with NotifyCollectionChangedAction.Remove.");
- } catch (ArgumentException) {
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging.Tests {
-
- public class FakePackage : Package {
- Dictionary<Uri, PackagePart> Parts { get; set; }
- public List<Uri> CreatedParts { get; private set; }
- public List<Uri> DeletedParts { get; private set; }
-
- public FakePackage (FileAccess access, bool streaming)
- : base (access, streaming)
- {
- CreatedParts = new List<Uri> ();
- DeletedParts = new List<Uri> ();
- Parts = new Dictionary<Uri, PackagePart> ();
- }
-
- protected override PackagePart CreatePartCore (Uri partUri, string contentType, CompressionOption compressionOption)
- {
- FakePackagePart p = new FakePackagePart (this, partUri, contentType, compressionOption);
- Parts.Add (p.Uri, p);
- CreatedParts.Add (partUri);
- return p;
- }
-
- protected override void DeletePartCore (Uri partUri)
- {
- DeletedParts.Add (partUri);
- Parts.Remove (partUri);
- }
-
- protected override void FlushCore ()
- {
- // Flush...
- }
-
- protected override PackagePart GetPartCore (Uri partUri)
- {
- return Parts.ContainsKey(partUri) ? Parts [partUri] : null;
- }
-
- protected override PackagePart [] GetPartsCore ()
- {
- PackagePart [] p = new PackagePart [Parts.Count];
- Parts.Values.CopyTo (p, 0);
- return p;
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging.Tests {
-
- class FakePackagePart : PackagePart {
-
- public List<FileAccess> Accesses { get; private set; }
- public List<FileMode> Modes { get; private set; }
-
- public FakePackagePart (Package package, Uri partUri)
- : base (package, partUri)
- {
- Init ();
- }
-
- public FakePackagePart (Package package, Uri partUri, string contentType)
- : base(package, partUri, contentType)
- {
- Init ();
- }
-
- public FakePackagePart (Package package, Uri partUri, string contentType, CompressionOption compressionOption)
- : base (package, partUri, contentType, compressionOption)
- {
- Init ();
- }
-
- private void Init ()
- {
- Accesses = new List<FileAccess> ();
- Modes = new List<FileMode> ();
- }
-
- protected override Stream GetStreamCore (FileMode mode, FileAccess access)
- {
- Accesses.Add (access);
- Modes.Add (mode);
- return new MemoryStream ();
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-using System;
-using System.Linq;
-using System.Collections.Generic;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class FakePackagePartTests : TestBase {
-
- static void Main (string [] args)
- {
- FakePackagePartTests t = new FakePackagePartTests ();
- t.FixtureSetup ();
- t.Setup ();
- t.GetStream2 ();
- }
-
- FakePackagePart part;
- public override void Setup ()
- {
- base.Setup ();
- part = (FakePackagePart) new FakePackagePart(package, uris [0], contentType);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void Constructor1 ()
- {
- FakePackagePart p = new FakePackagePart (null, null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void Constructor2 ()
- {
- FakePackagePart p = new FakePackagePart (package, null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void Constructor3 ()
- {
- FakePackagePart p = new FakePackagePart (null, uris [0]);
- }
-
- [Test]
- public void Constructor4 ()
- {
- new FakePackagePart (package, uris [0], null);
- }
-
- [Test]
- public void Constructor5 ()
- {
- new FakePackagePart (package, uris [0], "");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Constructor6 ()
- {
- new FakePackagePart (package, uris [0], "dgsdgdfgd");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void CreateRelationship1 ()
- {
- part.CreateRelationship (null, TargetMode.External, null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void CreateRelationship2 ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreateRelationship3a ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreateRelationship3b ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, " ");
- }
-
- [Test]
- public void CreateRelationship4 ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "blah");
- }
-
-
- [Test]
- public void CreateRelationship5 ()
- {
- PackageRelationship r = part.CreateRelationship (uris [1], TargetMode.External, "blah", null);
- Assert.IsNotNull (r.Id, "#1");
- Assert.AreEqual (part.Uri, r.SourceUri, "#2");
- Assert.AreEqual (uris [1], r.TargetUri, "#3");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void CreateRelationship6 ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "blah", "");
- }
-
- [Test]
- public void CreateRelationship7 ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "blah", "asda");
- }
-
- [Test]
- [ExpectedException (typeof (Xml.XmlException))]
- public void CreateDupeRelationship ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "blah", "asda");
- part.CreateRelationship (uris [1], TargetMode.External, "blah", "asda");
- }
-
- [Test]
- [ExpectedException (typeof (Xml.XmlException))]
- public void CreateDupeRelationshipId ()
- {
- part.CreateRelationship (uris [1], TargetMode.External, "blah", "asda");
- part.CreateRelationship (uris [2], TargetMode.Internal, "aaa", "asda");
- }
-
- [Test]
- public void EnumeratePartsBreak ()
- {
- FakePackage package = new FakePackage (FileAccess.ReadWrite, false);
-
- package.CreatePart (uris [0], "a/a");
- package.CreatePart (uris [1], "a/a");
- package.CreatePart (uris [2], "a/a");
-
- Assert.IsTrue (package.GetParts () == package.GetParts (), "#1");
- try {
- foreach (PackagePart part in package.GetParts ())
- package.DeletePart (part.Uri);
- Assert.Fail ("This should throw an exception");
- } catch {
- }
-
- PackagePartCollection c = package.GetParts ();
- package.CreatePart (new Uri ("/dfds", UriKind.Relative), "a/a");
- int count = 0;
- foreach (PackagePart p in c) { count++; }
- Assert.AreEqual (3, count, "Three added, one deleted, one added");
- }
-
- [Test]
- public void GetStream1 ()
- {
- part.GetStream ();
- Assert.AreEqual (FileMode.OpenOrCreate, part.Modes [0], "#1");
- Assert.AreEqual (package.FileOpenAccess, part.Accesses [0], "#2");
- }
-
- [Test]
- [ExpectedException(typeof(NotSupportedException))]
- public void PackagePartNoContentType ()
- {
- string s = new FakePackagePart (package, uris [0]).ContentType;
- }
-
- [Test]
- public void GetStream2 ()
- {
- Assert.IsNotNull (package.CreatePart (uris[1], contentType));
- Assert.AreEqual (1, new List<PackagePart> (package.GetParts()).Count, "#0a");
- package.Flush ();
- package.Close ();
-
- using (Package p = Package.Open (new MemoryStream (stream.ToArray ()))) {
- PackagePart part = new List<PackagePart>(p.GetParts ())[0];
- Stream s = part.GetStream ();
- Assert.IsTrue (s.CanRead, "#1");
- Assert.IsTrue (s.CanSeek, "#2");
- Assert.IsFalse (s.CanWrite, "#3");
- }
-
- using (Package p = Package.Open (new MemoryStream (stream.ToArray ()), FileMode.OpenOrCreate)) {
- PackagePart part = new List<PackagePart> (p.GetParts ()) [0];
- Stream s = part.GetStream ();
- Assert.IsTrue (s.CanRead, "#4");
- Assert.IsTrue (s.CanSeek, "#5");
- Assert.IsTrue (s.CanWrite, "#6");
- }
-
- using (Package p = Package.Open (new MemoryStream (stream.ToArray ()), FileMode.OpenOrCreate, FileAccess.ReadWrite)) {
- PackagePart part = new List<PackagePart> (p.GetParts ()) [0];
- Stream s = part.GetStream ();
- Assert.IsTrue (s.CanRead, "#7");
- Assert.IsTrue (s.CanSeek, "#8");
- Assert.IsTrue (s.CanWrite, "#9");
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class FakePackageTests : TestBase {
-
- //static void Main (string [] args)
- //{
- // FakePackageTests t = new FakePackageTests ();
- // t.FixtureSetup ();
- // t.Setup ();
- // t.RelationshipPartGetStream ();
- //}
-
- private new FakePackage package;
- public override void Setup ()
- {
- package = new FakePackage (FileAccess.ReadWrite, true);
- }
-
- [Test]
- public void CheckAutomaticParts ()
- {
- package.CreatePart (uris [0], contentType);
- Assert.AreEqual (1, package.CreatedParts.Count (), "#1");
- Assert.AreEqual (uris [0], package.CreatedParts [0], "#2");
- Assert.AreEqual (0, package.DeletedParts.Count (), "#3");
- Assert.AreEqual (1, package.GetParts ().Count (), "#4");
- }
-
- [Test]
- public void CheckAutomaticParts2 ()
- {
- package.CreateRelationship (uris [0], TargetMode.External, "relationship");
- Assert.AreEqual (1, package.CreatedParts.Count (), "#1");
- Assert.AreEqual (relationshipUri, package.CreatedParts [0], "#2");
- Assert.AreEqual (0, package.DeletedParts.Count (), "#3");
- Assert.AreEqual (1, package.GetParts ().Count (), "#4");
-
- PackagePart p = package.GetPart (relationshipUri);
- Assert.AreEqual (package, p.Package, "#5");
- Assert.AreEqual (CompressionOption.NotCompressed, p.CompressionOption, "#6");
- Assert.AreEqual ("application/vnd.openxmlformats-package.relationships+xml", p.ContentType, "#7");
- }
-
- [Test]
- public void RelationshipPartGetRelationships ()
- {
- CheckAutomaticParts2 ();
- PackagePart p = package.GetPart (relationshipUri);
-
- try {
- p.CreateRelationship (uris[0], TargetMode.Internal, "asdas");
- Assert.Fail ("This should fail 1");
- } catch (InvalidOperationException) {
-
- }
-
- try {
- p.DeleteRelationship("aa");
- Assert.Fail ("This should fail 2");
- } catch (InvalidOperationException) {
-
- }
-
- try {
- p.GetRelationship ("id");
- Assert.Fail ("This should fail 3");
- } catch (InvalidOperationException) {
-
- }
-
- try {
- p.GetRelationships ();
- Assert.Fail ("This should fail 4");
- } catch (InvalidOperationException) {
-
- }
-
- try {
- p.GetRelationshipsByType ("type");
- Assert.Fail ("This should fail 5");
- } catch (InvalidOperationException) {
-
- }
-
- try {
- p.RelationshipExists ("id");
- Assert.Fail ("This should fail 6");
- } catch (InvalidOperationException) {
-
- }
- }
-
- [Test]
- public void TestProperties ()
- {
- Assert.IsNotNull (package.PackageProperties, "#1");
- package.PackageProperties.Title = "Title";
- package.Flush ();
-
- // the relationship part and packageproperties part
- Assert.AreEqual (2, package.CreatedParts.Count, "#2");
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-
-namespace System.IO.Packaging.Tests {
-
- public class FakeStream : MemoryStream {
- public bool canRead;
- public bool canSeek;
- public bool canWrite;
-
- public FakeStream ()
- : this (true, true, true)
- {
-
- }
-
- public FakeStream (bool canread, bool canWrite, bool canSeek)
- {
- this.canRead = canread;
- this.canSeek = canSeek;
- this.canWrite = canWrite;
- }
-
- public override bool CanRead {
- get { return canRead; }
- }
-
- public override bool CanSeek {
- get { return canSeek; }
- }
-
- public override bool CanWrite {
- get { return canWrite; }
- }
- }
-}
+++ /dev/null
-// PackUriHelperTests.cs created with MonoDevelop
-// User: alan at 13:39 28/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.IO.Packaging;
-using NUnit.Framework;
-
-namespace WindowsBase {
-
- [TestFixture]
- [Category ("NotWorking")]
- [Ignore ("This depends on a fix to System.Uri to support the UriParser API")]
- public class PackUriHelperTests {
- static void Main (string [] args)
- {
- PackUriHelperTests t = new PackUriHelperTests ();
- t.ResolvePartUri2 ();
- }
-
-
- Uri a;
- Uri b;
- Uri part1 = new Uri ("/file1", UriKind.Relative);
- Uri part2 = new Uri ("/file2", UriKind.Relative);
- Uri main = new Uri ("/main.html", UriKind.Relative);
-
- [SetUpAttribute]
- public void Setup()
- {
- a = PackUriHelper.Create (new Uri ("http://www.test.com/pack1.pkg"));
- b = PackUriHelper.Create (new Uri ("http://www.test.com/pack2.pkg"));
- Console.WriteLine ("A is: {0}", a);
- Console.WriteLine("B is: {0}", b);
- }
-
- [Test]
- public void ComparePackUriTest ()
- {
- Assert.AreEqual (0, PackUriHelper.ComparePackUri (null, null), "#1");
- Assert.IsTrue (PackUriHelper.ComparePackUri (a, null) > 0, "#2");
- Assert.AreEqual (0, PackUriHelper.ComparePackUri (a, a), "#3");
- Assert.IsTrue (PackUriHelper.ComparePackUri (a, b) < 0, "#4");
- }
-
- [Test]
- [ExpectedException(typeof(UriFormatException))]
- public void CompareInvalidTest ()
- {
- Uri a = new Uri ("pack://url1");
- PackUriHelper.ComparePackUri (a, a);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void NonPackUriCompareTest ()
- {
- PackUriHelper.ComparePackUri (new Uri ("http://wtest.com"), a);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void NonPackUriCompareRelativeTest ()
- {
- PackUriHelper.ComparePackUri (new Uri ("wtest.com", UriKind.Relative), a);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void InvalidPartUriCompareTest ()
- {
- PackUriHelper.ComparePartUri (a, b);
- }
-
- [Test]
- public void PartUriCompareTest ()
- {
- Assert.AreEqual (0, PackUriHelper.ComparePartUri (null, null), "#1");
- Assert.IsTrue (PackUriHelper.ComparePartUri (part1, null) > 0, "#2");
- Assert.IsTrue (PackUriHelper.ComparePartUri (part1, part2) < 0, "#3");
- }
-
- [Test]
- public void CreateTest ()
- {
- Assert.AreEqual ("pack://http:,,www.test.com,pack.pkg",
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg")).ToString (), "#1");
- Assert.AreEqual ("pack://http:,,www.test.com,pack.pkg",
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"), null, null).ToString (), "#2");
- Assert.AreEqual ("pack://http:,,www.test.com,pack.pkg/main.html#frag",
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"),
- new Uri ("/main.html", UriKind.Relative), "#frag").ToString (), "#3");
- Assert.AreEqual ("pack://http:,,www.test.com,pack.pkg/main.html#frag",
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"),
- new Uri ("/main.html", UriKind.Relative), "#frag").ToString (), "#3");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreateInvalidTest ()
- {
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"), new Uri ("/main.html", UriKind.Relative), "notfrag");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreateInvalidTest2 ()
- {
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"), new Uri ("/main.html", UriKind.Relative), "");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreateInvalidTest3 ()
- {
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"), new Uri ("/main.html", UriKind.Relative), "");
- }
-
- [Test]
- public void CreateInvalidTest4 ()
- {
- PackUriHelper.Create (new Uri ("http://www.test.com/pack.pkg"), new Uri ("/main.html", UriKind.Relative));
- }
-
- [Test]
- public void CreatePartUri ()
- {
- Assert.IsFalse (PackUriHelper.CreatePartUri (part1).IsAbsoluteUri, "#1");
- Assert.AreEqual (new Uri (part1.ToString (), UriKind.Relative), PackUriHelper.CreatePartUri (part1), "#2");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void CreatePartUri2 ()
- {
- PackUriHelper.CreatePartUri (null);
- }
-
- [Test]
- public void GetNormalizedPartUriTest ()
- {
- Uri uri = new Uri ("/test.com".ToUpperInvariant (), UriKind.Relative);
- Assert.IsTrue (uri == PackUriHelper.GetNormalizedPartUri (uri));
- }
- [Test]
- public void GetNormalisedPartUritest4 ()
- {
- PackUriHelper.GetNormalizedPartUri (part1);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void GetNormalizedPartUriTest2 ()
- {
- PackUriHelper.GetNormalizedPartUri (null);
- }
-
- [Test]
- [ExpectedException (typeof (UriFormatException))]
- public void GetNormalizedPartUriTest3 ()
- {
- Assert.AreEqual (new Uri (a.ToString ().ToUpperInvariant (), UriKind.Relative), PackUriHelper.GetNormalizedPartUri (a));
- }
-
- [Test]
- public void GetPackageUriTest ()
- {
- Assert.AreEqual (a, PackUriHelper.GetPackageUri (PackUriHelper.Create (a, new Uri ("/test.html", UriKind.Relative))));
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void GetPackageUri2 ()
- {
- PackUriHelper.GetPackageUri (null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void GetPackageUri3 ()
- {
- PackUriHelper.GetPackageUri (part1);
- }
-
- [Test]
- public void GetPartUriTest ()
- {
- Assert.IsNull (PackUriHelper.GetPartUri (a), "#1");
- Assert.AreEqual (main, PackUriHelper.GetPartUri (PackUriHelper.Create (a, main)), "#2");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void GetPartUriTest2 ()
- {
- PackUriHelper.GetPartUri (null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void GetPartUriTest3 ()
- {
- PackUriHelper.GetPartUri (part1);
- }
-
- [Test]
- public void GetRelationshipPartUriTest ()
- {
- Assert.AreEqual ("/_rels/file1.rels", PackUriHelper.GetRelationshipPartUri (part1).ToString());
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void GetRelationshipPartUriTest2 ()
- {
- PackUriHelper.GetRelationshipPartUri (null);
- }
-
- [Test]
- public void GetRelativeUriTest ()
- {
- Uri src = new Uri ("/1/2/3/file.jpg", UriKind.Relative);
- Uri dest = new Uri ("/file2.png", UriKind.Relative);
- Assert.AreEqual (new Uri ("../../../file2.png", UriKind.Relative), PackUriHelper.GetRelativeUri (src, dest), "#1");
-
- dest = new Uri ("/1/2", UriKind.Relative);
- Assert.AreEqual (new Uri ("../../2", UriKind.Relative), PackUriHelper.GetRelativeUri (src, dest), "#2");
-
- dest = new Uri ("/1/2/", UriKind.Relative);
- Assert.AreEqual (new Uri ("", UriKind.Relative), PackUriHelper.GetRelativeUri (src, src), "#4");
- }
-
- [Test]
- [ExpectedException (typeof(ArgumentException))]
- public void GetRelativeUriTest2 ()
- {
- Uri src = new Uri ("/1/2/3/file.jpg", UriKind.Relative);
- Uri dest = new Uri ("/1/2/", UriKind.Relative);
- Assert.AreEqual (new Uri ("../file2.png", UriKind.Relative), PackUriHelper.GetRelativeUri (src, dest), "#3");
- }
-
- [Test]
- public void IsRelationshipPartUriTest ()
- {
- Assert.IsFalse (PackUriHelper.IsRelationshipPartUri (new Uri ("/_rels/Whatever", UriKind.Relative)));
- Assert.IsTrue (PackUriHelper.IsRelationshipPartUri (new Uri ("/_rels/Whatever.rels", UriKind.Relative)));
- }
-
- [Test]
- public void IsRelationshipPartUriTest2 ()
- {
- Uri uri = new Uri ("/test/uri", UriKind.Relative);
- PackUriHelper.IsRelationshipPartUri (uri);
- }
-
- [Test]
- [ExpectedException(typeof(UriFormatException))]
- public void ResolvePartUri ()
- {
- Uri src = new Uri ("/1/2/3/4", UriKind.Relative);
- Uri dest = new Uri ("/MyFile", UriKind.Relative);
-
- // Can't be empty url
- Assert.AreEqual (new Uri (""), PackUriHelper.ResolvePartUri (src, dest), "#1");
- }
-
-
- [Test]
- [ExpectedException (typeof (UriFormatException))]
- public void ResolvePartUri2 ()
- {
- Uri src = new Uri ("/1/2/3/4", UriKind.Relative);
- Uri dest = new Uri ("/1/2/MyFile", UriKind.Relative);
-
- // Can't be empty url
- Assert.AreEqual (new Uri ("/1/2/MyFile", UriKind.Relative), PackUriHelper.ResolvePartUri (src, dest), "#1");
- Assert.AreEqual (new Uri ("/1/2/3/4", UriKind.Relative), PackUriHelper.ResolvePartUri (dest, src), "#1");
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class PackagePartStreamTests : TestBase {
-
- byte [] buffer;
- List<PackagePart> Parts = new List<PackagePart> ();
- static void Main (string [] args)
- {
- PackagePartStreamTests t = new PackagePartStreamTests ();
- t.FixtureSetup ();
- t.Setup ();
- t.CheckFlushTest ();
- }
-
- public override void FixtureSetup ()
- {
- base.FixtureSetup ();
-
- Random r = new Random ();
- buffer = new byte [1000];
- r.NextBytes (buffer);
- }
-
- public override void Setup ()
- {
- base.Setup ();
-
- Parts.Clear ();
- foreach (Uri u in uris)
- Parts.Add (package.CreatePart (u, "mime/type"));
- }
-
- [Test]
- public void SameStreamTest ()
- {
- Assert.AreEqual (0, stream.Length, "#a");
- package.Flush ();
- Assert.IsTrue (stream.Length > 0, "#b");
-
- Stream s1 = Parts [0].GetStream ();
- Stream s2 = Parts [0].GetStream ();
- Assert.IsFalse (s1 == s2, "#1");
- s1.WriteByte (5);
- Assert.AreEqual (1, s1.Position, "#2");
- Assert.AreEqual (0, s2.Position, "#3");
- Assert.AreEqual (s1.Length, s2.Length, "#4");
- Assert.AreEqual (5, s2.ReadByte (), "#5");
- s2.SetLength (0);
- Assert.AreEqual (0, s1.Length);
- }
-
- [Test]
- public void NoFlushTest ()
- {
- Parts [0].GetStream ().Write (buffer, 0, buffer.Length);
- Assert.AreEqual (0, stream.Length);
- }
-
- [Test]
- public void FlushIndividualTest ()
- {
- Parts [0].GetStream ().Write (buffer, 0, buffer.Length);
- Parts [0].GetStream ().Flush ();
- Assert.AreEqual (buffer.Length, Parts [0].GetStream ().Length, "#1");
- Assert.IsTrue (stream.Length > buffer.Length, "#2");
- }
-
- [Test]
- [Category ("NotWorking")]
- [Ignore ("This test only works on MS.NET. Behaviour probably not easily replicatable")]
- public void FlushPackageTest1 ()
- {
- FlushIndividualTest ();
-
- long count = stream.Length;
- package.Flush ();
- Assert.IsTrue (stream.Length > count, "#1");
- }
-
- [Test]
- [Category ("NotWorking")]
- [Ignore ("This test is useless i believe")]
- public void FlushOnlyPackage ()
- {
- NoFlushTest ();
- package.Flush ();
- long count = stream.Length;
- TearDown ();
- Setup ();
- // FlushPackageTest1 ();
- Assert.AreEqual (count, stream.Length, "#1");
- }
-
- [Test]
- public void GetMultipleStreams ()
- {
- foreach (PackagePart p in Parts) {
- p.GetStream ().Write (buffer, 0, buffer.Length);
- p.GetStream ().Flush ();
- Stream ssss = p.GetStream ();
- bool equal = p.GetStream () == p.GetStream ();
- stream.Flush ();
- }
- long position = stream.Length;
- }
-
- [Test]
- public void FlushThenTruncate ()
- {
- Parts [0].GetStream ().Write (buffer, 0, buffer.Length);
- package.Flush ();
- Assert.IsTrue (stream.Length > buffer.Length, "#1");
-
- Parts [0].GetStream ().SetLength (0);
- package.Flush ();
- Assert.IsTrue (stream.Length < buffer.Length, "#2");
-
- long length = stream.Length;
- foreach (PackagePart p in package.GetParts ().ToArray ())
- package.DeletePart (p.Uri);
- package.Flush ();
-
- Assert.IsTrue (stream.Length < length, "#3");
- }
-
- [Test]
-// [Category ("NotWorking")]
- public void CheckFlushTest ()
- {
- buffer = new byte [1024 * 1024];
- Assert.AreEqual (0, stream.Length, "#1");
- Parts [0].GetStream ().Write (buffer, 0, buffer.Length);
- Assert.AreEqual (0, stream.Length, "#2");
- Assert.AreEqual (Parts[0].GetStream ().Length, buffer.Length, "#2b");
- Parts [1].GetStream ().Write (buffer, 0, buffer.Length);
- Assert.AreEqual (0, stream.Length, "#3");
- Assert.AreEqual (Parts[1].GetStream ().Length, buffer.Length, "#3b");
- Parts [0].GetStream ().Flush ();
- Assert.IsTrue (stream.Length > buffer.Length * 2, "#4");
- long count = stream.Length;
- package.Flush ();
-
- // FIXME: On MS.NET this works. I don't think it's worth replicating
- //Assert.IsTrue (count < stream.Length, "#5");
- }
-
- [Test]
- public void CheckFlushTest2 ()
- {
- buffer = new byte [1024 * 1024];
- Assert.AreEqual (0, stream.Length, "#1");
- Parts [0].GetStream ().Write (buffer, 0, buffer.Length);
- Assert.AreEqual (0, stream.Length, "#2");
- Parts [1].GetStream ().Write (buffer, 0, buffer.Length);
- Assert.AreEqual (0, stream.Length, "#3");
- package.Flush ();
- Assert.IsTrue (stream.Length > buffer.Length * 2, "#4");
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework;
-using System.Xml;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class PackagePartTest : TestBase {
-
- const string PackagePropertiesType = "application/vnd.openxmlformats-package.core-properties+xml";
-
- //static void Main (string [] args)
- //{
- // PackagePartTest t = new PackagePartTest ();
- // t.FixtureSetup ();
- // t.Setup ();
-
- // t.AddThreeParts ();
- //}
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void AddAbsoluteUri ()
- {
- package.CreatePart (new Uri ("file://lo/asd.asm", UriKind.Absolute), "aa/aa");
- }
-
- [Test]
- [Category ("NotWorking")]
- [Ignore ("This is a bug in the MS implementation. I don't think i can/should replicate it")]
- public void AddInvalidPartTwice ()
- {
- try {
- package.CreatePart (new Uri ("/file1.bmp", UriKind.Relative), "bmp");
- } catch (ArgumentException) {
- try {
- package.CreatePart (new Uri ("/file1.bmp", UriKind.Relative), "bmp");
- } catch (InvalidOperationException) {
- Assert.AreEqual (1, package.GetParts ().Count (), "Need to be buggy and return null");
- Assert.AreEqual (null, package.GetParts ().ToArray () [0], "Be buggy and add null to the internal list");
-
- return; // Success
- }
- }
-
- Assert.Fail ("Should have thrown an ArgumentException then InvalidOperationException");
- }
-
- [Test]
- public void AddThreeParts ()
- {
- foreach (Uri u in uris)
- package.CreatePart (u, "mime/type");
-
- Assert.AreEqual (3, package.GetParts ().Count (), "Should be three parts");
- PackagePartCollection c1 = package.GetParts ();
- package.CreatePart (new Uri ("/asdasdas", UriKind.Relative), "asa/s");
- PackagePartCollection c2 = package.GetParts ();
- bool eq = c1 == c2;
-
- Assert.IsNotNull (package.GetPart (new Uri (uris[0].ToString ().ToUpper (), UriKind.Relative)));
- }
-
- [Test]
- public void CheckPartProperties ()
- {
- AddThreeParts ();
- PackagePart part = package.GetPart (uris [0]);
- Assert.AreEqual (CompressionOption.NotCompressed, part.CompressionOption, "Compress option wrong");
- Assert.AreEqual ("mime/type", part.ContentType, "Content type wrong");
- Assert.AreEqual (package, part.Package, "Wrong package");
- Assert.AreEqual (uris [0], part.Uri, "Wrong package selected");
- }
-
- [Test]
- public void CheckPartRelationships ()
- {
- AddThreeParts ();
- Assert.AreEqual (4, package.GetParts ().Count (), "#a");
- PackagePart part = package.GetPart (uris [0]);
- PackageRelationship r1 = part.CreateRelationship (part.Uri, TargetMode.Internal, "self");
- PackageRelationship r2 = package.CreateRelationship (part.Uri, TargetMode.Internal, "fake");
- PackageRelationship r3 = package.CreateRelationship (new Uri ("/fake/uri", UriKind.Relative), TargetMode.Internal, "self");
-
- Assert.AreEqual (6, package.GetParts ().Count (), "#b");
- Assert.AreEqual (1, part.GetRelationships ().Count (), "#1");
- Assert.AreEqual (1, part.GetRelationshipsByType ("self").Count (), "#2");
- Assert.AreEqual (r1, part.GetRelationship (r1.Id), "#3");
- Assert.AreEqual (2, package.GetRelationships ().Count (), "#4");
- Assert.AreEqual (1, package.GetRelationshipsByType ("self").Count (), "#5");
- Assert.AreEqual (r3, package.GetRelationship (r3.Id), "#6");
-
- Assert.AreEqual (6, package.GetParts ().Count (), "#c");
- Assert.AreEqual (part.Uri, r1.SourceUri, "#7");
- Assert.AreEqual (new Uri ("/", UriKind.Relative), r3.SourceUri, "#8");
-
- PackageRelationship r4 = part.CreateRelationship (uris [2], TargetMode.Internal, "other");
- Assert.AreEqual (part.Uri, r4.SourceUri);
-
- PackageRelationshipCollection relations = package.GetPart (uris [2]).GetRelationships ();
- Assert.AreEqual (0, relations.Count ());
- Assert.AreEqual (6, package.GetParts ().Count (), "#d");
- }
-
- [Test]
- public void CheckIndividualRelationships ()
- {
- PackagePart part = package.CreatePart (uris [0], contentType);
- part.CreateRelationship (uris [1], TargetMode.Internal, "relType");
- part.CreateRelationship (uris [2], TargetMode.External, "relType");
-
- package.Flush ();
- Assert.AreEqual (2, package.GetParts ().Count(), "#1");
- part = package.GetPart (new Uri ("/_rels" + uris [0].ToString () + ".rels", UriKind.Relative));
- Assert.IsNotNull (part);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void DeletePartsAfterAddingRelationships ()
- {
- CheckPartRelationships ();
- foreach (PackagePart p in new List<PackagePart> (package.GetParts ()))
- package.DeletePart (p.Uri);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void DeleteRelsThenParts ()
- {
- CheckPartRelationships ();
- foreach (PackageRelationship r in new List<PackageRelationship> (package.GetRelationships ()))
- package.DeleteRelationship (r.Id);
- foreach (PackagePart p in new List<PackagePart> (package.GetParts ()))
- package.DeletePart (p.Uri);
- }
-
- [Test]
- public void CreateValidPart ()
- {
- PackagePart part = package.CreatePart (uris [0], "img/bmp");
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void CreateDuplicatePart ()
- {
- CreateValidPart ();
- CreateValidPart ();
- }
-
- [Test]
- public void CreateValidPartTwice ()
- {
- CreateValidPart ();
- package.DeletePart (uris [0]);
- CreateValidPart ();
-
- Assert.AreEqual (1, package.GetParts ().Count (), "#1");
- Assert.AreEqual (uris [0], package.GetParts ().ToArray () [0].Uri, "#2");
- package.DeletePart (uris [0]);
- package.DeletePart (uris [0]);
- package.DeletePart (uris [0]);
- }
-
- [Test]
- public void IterateParts ()
- {
- List<PackagePart> parts = new List<PackagePart> ();
- parts.Add (package.CreatePart (new Uri ("/a", UriKind.Relative), "mime/type"));
- parts.Add (package.CreatePart (new Uri ("/b", UriKind.Relative), "mime/type"));
- List<PackagePart> found = new List<PackagePart> (package.GetParts ());
- Assert.AreEqual (parts.Count, found.Count, "Invalid number of parts");
- Assert.IsTrue (found.Contains (parts [0]), "Doesn't contain first part");
- Assert.IsTrue (found.Contains (parts [1]), "Doesn't contain second part");
-
- Assert.IsTrue (found [0] == parts [0] || found [0] == parts [1], "Same object reference should be used");
- Assert.IsTrue (found [1] == parts [0] || found [1] == parts [1], "Same object reference should be used");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void NoStartingSlashPartialUri ()
- {
- PackagePart part = package.CreatePart (new Uri ("file1.bmp", UriKind.Relative), "bmp");
- }
-
- [Test]
- public void PackagePropertiesTest ()
- {
- package.PackageProperties.Category = "category";
- package.PackageProperties.ContentStatus = "status";
- package.PackageProperties.ContentType = "contentttype";
- package.PackageProperties.Created = new DateTime (2008, 12, 12, 2, 3, 4);
- package.PackageProperties.Creator = "mono";
- package.PackageProperties.Description = "description";
- package.PackageProperties.Identifier = "id";
- package.PackageProperties.Keywords = "key words";
- package.PackageProperties.Language = "english";
- package.PackageProperties.LastModifiedBy = "modified";
- package.PackageProperties.LastPrinted = new DateTime (2007, 12, 12, 2, 3, 4);
- package.PackageProperties.Modified = new DateTime (2008, 12, 12, 3, 4, 5);
- package.PackageProperties.Revision = "reviison";
- package.PackageProperties.Subject = "subject";
- package.PackageProperties.Title = "title";
- package.PackageProperties.Version = "version";
- Assert.AreEqual (0, package.GetParts ().Count (), "#1");
- package.Flush ();
- Assert.AreEqual (2, package.GetParts ().Count (), "#2");
- var part = package.GetParts ().Where (p => p.ContentType == PackagePropertiesType).ToList ().First ();
- Assert.IsNotNull (part);
- Assert.IsTrue (part.Uri.OriginalString.StartsWith ("/package/services/metadata/core-properties/"), "#3");
- Assert.IsTrue (part.Uri.OriginalString.EndsWith (".psmdcp"), "#4");
- package.Close ();
- package = Package.Open (new MemoryStream (stream.ToArray ()));
-
- Assert.AreEqual (package.PackageProperties.Category, "category", "#5");
- Assert.AreEqual (package.PackageProperties.ContentStatus, "status", "#6");
- Assert.AreEqual (package.PackageProperties.ContentType, "contentttype", "#7");
- Assert.AreEqual (package.PackageProperties.Created, new DateTime (2008, 12, 12, 2, 3, 4), "#8");
- Assert.AreEqual (package.PackageProperties.Creator, "mono", "#9");
- Assert.AreEqual (package.PackageProperties.Description, "description", "#10");
- Assert.AreEqual (package.PackageProperties.Identifier, "id", "#11");
- Assert.AreEqual (package.PackageProperties.Keywords, "key words", "#12");
- Assert.AreEqual (package.PackageProperties.Language, "english", "#13");
- Assert.AreEqual (package.PackageProperties.LastModifiedBy, "modified", "#14");
- Assert.AreEqual (package.PackageProperties.LastPrinted, new DateTime (2007, 12, 12, 2, 3, 4), "#15");
- Assert.AreEqual (package.PackageProperties.Modified, new DateTime (2008, 12, 12, 3, 4, 5), "#16");
- Assert.AreEqual (package.PackageProperties.Revision, "reviison", "#17");
- Assert.AreEqual (package.PackageProperties.Subject, "subject", "#18");
- Assert.AreEqual (package.PackageProperties.Title, "title", "#19");
- Assert.AreEqual (package.PackageProperties.Version, "version", "#20");
- }
-
- [Test]
- public void PackagePropertiestest2 ()
- {
- package.PackageProperties.Title = "TITLE";
- package.Close ();
- package = Package.Open (new MemoryStream (stream.ToArray ()));
- Assert.AreEqual (null, package.PackageProperties.Category, "#1");
- }
-
- [Test]
- [ExpectedException (typeof (IOException))]
- public void PackagePropertiesReadonly ()
- {
- PackagePropertiesTest ();
- package.PackageProperties.Title = "Title";
- }
-
- [Test]
- public void PartExists ()
- {
- CreateValidPart ();
- Assert.IsNotNull (package.GetPart (uris [0]), "Part could not be found");
- Assert.IsTrue (package.PartExists (uris [0]), "Part didn't exist");
- Assert.AreEqual (1, package.GetParts ().Count (), "Only one part");
- }
-
- [Test]
- public void RemoveThreeParts ()
- {
- AddThreeParts ();
- foreach (PackagePart p in new List<PackagePart> (package.GetParts ()))
- package.DeletePart (p.Uri);
- Assert.AreEqual (0, package.GetParts ().Count (), "Should contain no parts");
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void RemoveThreePartsBreak ()
- {
- AddThreeParts ();
- foreach (PackagePart p in package.GetParts ())
- package.DeletePart (p.Uri);
- }
-
- [Test]
- [Category ("NotWorking")]
- [Ignore ("Content_Type is never added as a part - need to test this indirectly")]
- public void CheckContentTypes ()
- {
- Uri contentUri = new Uri ("/[Content_Types].xml", UriKind.Relative);
- string contentNamespace = "http://schemas.openxmlformats.org/package/2006/content-types";
- AddThreeParts ();
-
- // FIXME: This isn't actually created as a PackagePart
- Assert.IsTrue (package.PartExists (contentUri), "#0");
- XmlDocument doc = new XmlDocument ();
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace ("content", contentNamespace);
- doc.Load (package.GetPart (contentUri).GetStream ());
-
- Assert.IsNotNull (doc.SelectSingleNode ("/content:Types", manager), "#1");
-
- XmlNodeList nodes = doc.SelectNodes ("/content:Types/*", manager);
- Assert.AreEqual (2, nodes.Count, "#2");
-
- foreach (XmlNode node in nodes) {
- if (node.Name == "Default") {
- Assert.AreEqual (node.Attributes["Extension"].Value, "png", "#3");
- Assert.AreEqual (node.Attributes["ContentType"].Value, "mime/type", "#4");
- } else if (node.Name == "Override") {
- Assert.AreEqual (node.Attributes["PartName"].Value, "/asdasdas", "#5");
- Assert.AreEqual (node.Attributes["ContentType"].Value, "asa/s", "#6");
- } else {
- Assert.Fail ("Invalid node found");
- }
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Xml;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class PackageRelationshipTests : TestBase {
- [Test]
- public void AddInvalidRelationshipTwice ()
- {
- try {
- package.CreateRelationship (new Uri ("", UriKind.Relative), TargetMode.Internal, "bmp");
- } catch (ArgumentException) {
- try {
- package.CreateRelationship (new Uri ("", UriKind.Relative), TargetMode.Internal, "bmp");
- } catch (ArgumentException) {
- Assert.AreEqual (0, package.GetRelationships ().Count (), "Need to be buggy and return null");
- return; // Success
- }
- }
-
- Assert.Fail ("Should have thrown an ArgumentException then InvalidOperationException");
- }
-
- [Test]
- public void AddThreeRelationShips ()
- {
- PackageRelationship r1 = package.CreateRelationship (uris [0], TargetMode.Internal, "a");
- PackageRelationship r2 = package.CreateRelationship (uris [1], TargetMode.Internal, "b");
- PackageRelationship r3 = package.CreateRelationship (uris [2], TargetMode.Internal, "a");
-
- Assert.AreEqual (3, package.GetRelationships ().Count (), "#1");
- Assert.AreEqual (2, package.GetRelationshipsByType ("a").Count (), "#2");
- Assert.AreEqual (0, package.GetRelationshipsByType ("A").Count (), "#3");
- }
-
- [Test]
- public void CheckProperties ()
- {
- AddThreeRelationShips ();
- PackageRelationship r = package.GetRelationshipsByType ("b").ToArray () [0];
- Assert.AreEqual (uris [1], r.TargetUri, "#1");
- Assert.AreEqual (TargetMode.Internal, r.TargetMode, "#2");
- Assert.AreEqual (new Uri ("/", UriKind.Relative), r.SourceUri, "#3");
- Assert.AreEqual ("b", r.RelationshipType, "#4");
- Assert.AreEqual (package, r.Package, "#5");
- Assert.IsTrue (package == r.Package, "#6");
- Assert.IsTrue (!string.IsNullOrEmpty (r.Id), "#7");
- }
-
- [Test]
- public void RemoveById ()
- {
- AddThreeRelationShips ();
- PackageRelationship r = package.GetRelationshipsByType ("a").ToArray () [0];
- package.DeleteRelationship (r.Id);
- Assert.AreEqual (2, package.GetRelationships ().Count (), "#1");
- Assert.AreEqual (1, package.GetRelationshipsByType ("a").Count (), "#2");
- }
-
- [Test]
- public void RemoveThreeRelationships ()
- {
- AddThreeRelationShips ();
- foreach (PackageRelationship p in new List<PackageRelationship> (package.GetRelationships ()))
- package.DeleteRelationship (p.Id);
- Assert.AreEqual (0, package.GetRelationships ().Count (), "Should contain no relationships");
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void RemoveThreeRelationshipsBreak ()
- {
- AddThreeRelationShips ();
- foreach (PackageRelationship p in package.GetRelationships ())
- package.DeleteRelationship (p.Id);
- }
-
- [Test]
- public void CheckRelationshipData ()
- {
- AddThreeRelationShips ();
- PackagePart part = package.GetPart (new Uri ("/_rels/.rels", UriKind.Relative));
- Assert.IsNotNull (package.GetPart (new Uri ("/_RELS/.RELS", UriKind.Relative)), "#0");
- package.Flush ();
- Assert.IsNotNull (part, "#1");
-
- Stream stream = part.GetStream ();
- Assert.IsTrue (stream.Length > 0, "#2a");
-
- XmlDocument doc = new XmlDocument ();
- XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
- manager.AddNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships");
- doc.Load (new StreamReader (stream));
-
- Assert.IsNotNull (doc.SelectSingleNode ("/rel:Relationships", manager), "#2b");
-
- XmlNodeList list = doc.SelectNodes ("/rel:Relationships/*", manager);
- Assert.AreEqual (3, list.Count);
-
- List<PackageRelationship> relationships = new List<PackageRelationship>(package.GetRelationships ());
- foreach (XmlNode node in list) {
- Assert.AreEqual (3, node.Attributes.Count, "#3");
- Assert.IsNotNull (node.Attributes ["Id"], "#4");
- Assert.IsNotNull (node.Attributes ["Target"], "#5");
- Assert.IsNotNull (node.Attributes ["Type"], "#6");
- Assert.IsTrue(relationships.Exists(d => d.Id == node.Attributes["Id"].InnerText &&
- d.TargetUri == new Uri (node.Attributes["Target"].InnerText, UriKind.Relative) &&
- d.RelationshipType == node.Attributes["Type"].InnerText));
- }
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
-
- [TestFixture]
- public class PackageTest : TestBase {
-
- //static void Main (string [] args)
- //{
- // PackageTest t = new PackageTest ();
- // t.FixtureSetup ();
- // t.Setup ();
- // t.RelationshipPartGetStream ();
- //}
- string path = "test.package";
-
- public override void Setup ()
- {
- if (File.Exists (path))
- File.Delete (path);
- }
-
- public override void TearDown ()
- {
- try {
- if (package != null)
- package.Close ();
- } catch {
- // FIXME: This shouldn't be required when i implement this
- }
- if (File.Exists (path))
- File.Delete (path);
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void CorruptStream ()
- {
- stream = new FakeStream (true, true, true);
- stream.Write (new byte [1024], 0, 1024);
- package = Package.Open (stream);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void FileShareReadWrite ()
- {
- package = Package.Open (path, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
- }
-
- [Test]
- [ExpectedException (typeof (FileNotFoundException))]
- public void OpenNonExistantPath ()
- {
- package = Package.Open (path, FileMode.Open);
- }
-
- [Test]
- public void NonExistantPath ()
- {
- package = Package.Open (path);
- }
-
- [Test]
- public void PreExistingPath ()
- {
- package = Package.Open (path);
- package.Close ();
- package = Package.Open (path);
- }
-
- [Test]
- public void CreatePath ()
- {
- package = Package.Open (path, FileMode.Create);
- Assert.AreEqual (FileAccess.ReadWrite, package.FileOpenAccess, "#1");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void CreatePathReadonly ()
- {
- package = Package.Open (path, FileMode.Create, FileAccess.Read);
- package.Close ();
- }
-
- [Test]
- public void CreatePathTwice ()
- {
- package = Package.Open (path, FileMode.Create);
- package.Close ();
- package = Package.Open (path, FileMode.Open);
- Assert.AreEqual (FileAccess.ReadWrite, package.FileOpenAccess);
- }
-
- [Test]
- public void OpenPathReadonly ()
- {
- package = Package.Open (path, FileMode.Create);
- package.Close ();
- package = Package.Open (path, FileMode.Open, FileAccess.Read);
- Assert.AreEqual (FileAccess.Read, package.FileOpenAccess, "Should be read access");
- try {
- package.CreatePart (uris [0], contentType);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
-
- try {
- package.CreateRelationship (uris [0], TargetMode.Internal, contentType);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
-
- try {
- package.DeletePart (uris [0]);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
-
- try {
- package.DeleteRelationship (contentType);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void ReadableStream ()
- {
- stream = new FakeStream (true, false, false);
- package = Package.Open (stream);
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void ReadableSeekableStream ()
- {
- stream = new FakeStream (true, false, true);
- package = Package.Open (stream);
-
- try {
- package.DeleteRelationship (contentType);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void ReadableSeekableFullStream ()
- {
- stream = new FakeStream (true, false, true);
- stream.Write (new byte [10], 0, 10);
- package = Package.Open (stream);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void ReadOnlyAccess ()
- {
- stream = new FakeStream (true, false, true);
- package = Package.Open (path, FileMode.CreateNew, FileAccess.Read);
-
- try {
- package.DeleteRelationship (contentType);
- Assert.Fail ("Cannot modify a read-only package");
- } catch (IOException) {
-
- }
- }
-
- [Test]
- [Category ("NotWorking")]
- [Ignore ("I'm not supposed to write to the relation stream unless i'm flushing")]
- public void RelationshipPartGetStream ()
- {
- package = Package.Open (path);
- package.CreateRelationship (uris [0], TargetMode.External, "rel");
- PackagePart p = package.GetPart (relationshipUri);
- Assert.IsNotNull (p, "#0");
- Stream s = p.GetStream ();
- Assert.AreEqual (0, s.Length, "#1");
- Assert.IsTrue (s.CanRead, "#2");
- Assert.IsTrue (s.CanSeek, "#3");
- Assert.IsFalse (s.CanTimeout, "#4");
- Assert.IsTrue (s.CanWrite, "#5");
- }
-
- [Test]
- [ExpectedException (typeof (IOException))]
- public void SetFileModeOnUnwriteableStream ()
- {
- stream = new FakeStream (true, false, true);
- package = Package.Open (stream, FileMode.Truncate);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void SetAppendOnWriteableStream ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Append);
- }
-
- [Test]
- public void SetCreateNewOnWriteableStream ()
- {
- package = Package.Open (stream, FileMode.CreateNew);
- }
-
- [Test]
- [ExpectedException(typeof(IOException))]
- public void SetCreateNewOnWriteableStream2 ()
- {
- stream = new FakeStream (true, true, true);
- stream.Write (new byte [1000], 0, 1000);
- package = Package.Open (stream, FileMode.CreateNew);
- Assert.AreEqual (0, stream.Length, "#1");
- }
-
- [Test]
- public void SetCreateOnWriteableStream ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Create);
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void SetOpenOnWriteableStream ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Open);
- }
-
- [Test]
- public void SetOpenOrCreateOnWriteableStream ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.OpenOrCreate);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void SetTruncateOnWriteableStream ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Truncate);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void SetTruncateOnWriteablePath ()
- {
- stream = new FakeStream (true, true, true);
- File.Create (path).Close ();
- package = Package.Open (path, FileMode.Truncate);
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void StreamOpen ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Open);
- }
-
- [Test]
- public void StreamCreate ()
- {
- stream = new FakeStream (true, true, true);
- package = Package.Open (stream, FileMode.Create);
- }
-
- [Test]
- [ExpectedException (typeof (IOException))]
- public void UnusableStream ()
- {
- stream = new FakeStream (false, false, false);
- package = Package.Open (stream);
- }
-
- // Bug - I'm passing in FileAccess.Write but it thinks I've passed FileAccess.Read
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void WriteAccessDoesntExist ()
- {
- package = Package.Open (path, FileMode.OpenOrCreate, FileAccess.Write);
- }
-
- [Test]
- public void ReadWriteAccessDoesntExist ()
- {
- package = Package.Open (path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
- }
-
- [Test]
- [ExpectedException (typeof (FileFormatException))]
- public void WriteOnlyAccessExists ()
- {
- System.IO.File.Create (path).Close ();
- package = Package.Open (path, FileMode.OpenOrCreate, FileAccess.Write);
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2008 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Alan McGovern (amcgovern@novell.com)
-//
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using NUnit.Framework;
-
-namespace System.IO.Packaging.Tests {
- public abstract class TestBase {
-
- protected string contentType = "mime/type";
- protected Package package;
- protected Uri relationshipUri = new Uri ("/_rels/.rels", UriKind.Relative);
- protected FakeStream stream;
- protected Uri [] uris = { new Uri("/file1.png", UriKind.Relative),
- new Uri("/file2.png", UriKind.Relative),
- new Uri("/file3.png", UriKind.Relative) };
-
- [TestFixtureSetUp]
- public virtual void FixtureSetup ()
- {
-
- }
-
- [SetUp]
- public virtual void Setup ()
- {
- stream = new FakeStream ();
- package = Package.Open (stream, FileMode.Create);
- }
-
- [TearDown]
- public virtual void TearDown ()
- {
- try {
- if (package != null)
- package.Close ();
- } catch {
-
- }
-
- if (stream != null)
- stream.Close ();
- }
-
- [TestFixtureTearDown]
- public virtual void FixtureTeardown ()
- {
-
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class ConstructorArgumentAttributeTest
- {
- [Test]
- public void CtorTest ()
- {
- ConstructorArgumentAttribute attr = new ConstructorArgumentAttribute ("argName");
- Assert.AreEqual ("argName", attr.ArgumentName);
-
- attr = new ConstructorArgumentAttribute (null);
- Assert.IsNull (attr.ArgumentName);
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class ContentPropertyAttributeTest
- {
- [Test]
- public void CtorTest ()
- {
- ContentPropertyAttribute attr = new ContentPropertyAttribute ("name");
- Assert.AreEqual ("name", attr.Name);
-
- attr = new ContentPropertyAttribute ();
- Assert.IsNull (attr.Name);
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class ContentWrapperAttributeTest
- {
- [Test]
- public void CtorTest1 ()
- {
- ContentWrapperAttribute attr = new ContentWrapperAttribute (typeof (ValueSerializer));
- Assert.AreEqual ("ValueSerializer", attr.ContentWrapper.Name);
-
- attr = new ContentWrapperAttribute (null);
- Assert.IsNull (attr.ContentWrapper);
- }
-
- [Test]
- public void TypeId ()
- {
- ContentWrapperAttribute attr = new ContentWrapperAttribute (typeof (ValueSerializer));
- Assert.AreSame (attr, attr.TypeId);
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class DateTimeValueSerializerTest
- {
- class Context : IValueSerializerContext {
- public ValueSerializer GetValueSerializerFor (PropertyDescriptor descriptor)
- {
- return null;
- }
-
- public ValueSerializer GetValueSerializerFor (Type type)
- {
- return null;
- }
-
- public void OnComponentChanged ()
- {
- }
-
- public bool OnComponentChanging ()
- {
- return false;
- }
-
- public IContainer Container {
- get { return null; }
- }
-
- public object Instance {
- get { return null; }
- }
-
- public PropertyDescriptor PropertyDescriptor {
- get { return null; }
- }
-
- public object GetService (Type serviceType)
- {
- return null;
- }
- }
-
- [Test]
- public void CanConvertFromStringNullContext ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Assert.IsTrue (serializer.CanConvertFromString (null, null));
- }
-
- [Test]
- public void CanConvertToStringNullContext ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Assert.IsTrue (serializer.CanConvertToString (DateTime.Now, null));
- }
-
- [Test]
- public void CanConvertFromString ()
- {
- Context context = new Context ();
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime), context);
-
- Assert.AreEqual ("DateTimeValueSerializer", serializer.GetType().Name, "1");
-
- Assert.IsTrue (serializer.CanConvertFromString (null, context), "2");
- Assert.IsTrue (serializer.CanConvertFromString ("2008-01-18T10:39:27.106426-08:00", context), "3");
- Assert.IsTrue (serializer.CanConvertFromString ("2008-01-.106426-08:00", context), "4");
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))] // Expected object of type 'DateTime'.
- public void CanConvertToString1 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- serializer.CanConvertToString (null, context);
- }
- [Test]
- public void CanConvertToString2 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- DateTime dt = DateTime.Parse ("2008-01-18T10:39:27.106426-08:00");
-
- Assert.IsTrue (serializer.CanConvertToString (dt, context), "6");
- }
-
- [Test]
- public void ConvertFromString1 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- DateTime dt = DateTime.Parse ("2008-01-18T10:39:27.106426-08:00");
-
- Assert.AreEqual (dt, serializer.ConvertFromString ("2008-01-18T10:39:27.106426-08:00", context), "2");
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))] // 'DateTimeValueSerializer' ValueSerializer cannot convert from '(null)'
- public void ConvertFromString2 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- serializer.ConvertFromString (null, context);
- }
-
- [Test]
- [ExpectedException (typeof (FormatException))] // String was not recognized as a valid DateTime.
- public void ConvertFromString3 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- serializer.ConvertFromString ("2008-01-.106426-08:00", context);
- }
-
- [Test]
- [NUnit.Framework.CategoryAttribute ("NotWorking")]
- public void ConvertToString1 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- DateTime dt = DateTime.Parse ("2008-01-18T10:39:27.106426-08:00");
-
- Assert.AreEqual ("2008-01-18T10:39:27.106426-08:00", serializer.ConvertToString (dt, context), "1");
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertToString2 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- serializer.ConvertToString (null, context);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertToString3 ()
- {
- ValueSerializer serializer = (ValueSerializer)ValueSerializer.GetSerializerFor (typeof (DateTime));
- Context context = new Context ();
-
- serializer.ConvertToString (1, context);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class DependsOnAttributeTest
- {
- [Test]
- public void CtorTest ()
- {
- DependsOnAttribute attr = new DependsOnAttribute ("name");
- Assert.AreEqual ("name", attr.Name);
-
- attr = new DependsOnAttribute (null);
- Assert.IsNull (attr.Name);
- }
-
- [Test]
- public void TypeId ()
- {
- DependsOnAttribute attr = new DependsOnAttribute ("name");
- Assert.AreSame (attr, attr.TypeId);
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class MarkupExtensionReturnTypeAttributeTest
- {
- [Test]
- public void CtorTest ()
- {
- MarkupExtensionReturnTypeAttribute attr = new MarkupExtensionReturnTypeAttribute (typeof (void));
- Assert.AreEqual (typeof (void), attr.ReturnType);
-
- attr = new MarkupExtensionReturnTypeAttribute ();
- Assert.IsNull (attr.ReturnType);
- }
-
- }
-
-}
\ No newline at end of file
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Converters;
-using System.Windows.Markup;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Markup {
-
- [TestFixture]
- public class ValueSerializerTest
- {
- class Context : IValueSerializerContext {
- public ValueSerializer GetValueSerializerFor (PropertyDescriptor descriptor)
- {
- Console.WriteLine ("GetValueSerializerFor ({0})", descriptor);
- return null;
- }
-
- public ValueSerializer GetValueSerializerFor (Type type)
- {
- Console.WriteLine ("GetValueSerializerFor ({0})", type);
- return null;
- }
-
- public void OnComponentChanged ()
- {
- }
-
- public bool OnComponentChanging ()
- {
- return false;
- }
-
- public IContainer Container {
- get { return null; }
- }
-
- public object Instance {
- get { return null; }
- }
-
- public PropertyDescriptor PropertyDescriptor {
- get { return null; }
- }
-
- public object GetService (Type serviceType)
- {
- return null;
- }
- }
-
- [Test]
- public void GetSerializerForType ()
- {
- Assert.IsNull (ValueSerializer.GetSerializerFor (typeof (DependencyObject)));
-
- Assert.AreEqual ("VectorValueSerializer", ValueSerializer.GetSerializerFor (typeof (Vector)).GetType().Name);
- Assert.AreEqual ("Int32RectValueSerializer", ValueSerializer.GetSerializerFor (typeof (Int32Rect)).GetType().Name);
- }
- }
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows.Media {
-
- [TestFixture]
- public class MatrixTest {
-
- void CheckMatrix (Matrix expected, Matrix actual)
- {
- Assert.AreEqual (expected.M11, actual.M11);
- Assert.AreEqual (expected.M12, actual.M12);
- Assert.AreEqual (expected.M21, actual.M21);
- Assert.AreEqual (expected.M22, actual.M22);
- Assert.AreEqual (expected.OffsetX, actual.OffsetX);
- Assert.AreEqual (expected.OffsetY, actual.OffsetY);
- }
-
- [Test]
- public void TestAccessors ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- Assert.AreEqual (1, m.M11);
- Assert.AreEqual (2, m.M12);
- Assert.AreEqual (3, m.M21);
- Assert.AreEqual (4, m.M22);
- Assert.AreEqual (5, m.OffsetX);
- Assert.AreEqual (6, m.OffsetY);
- }
-
- [Test]
- public void Append ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- m.Append (m);
- CheckMatrix (new Matrix (7, 10, 15, 22, 28, 40), m);
- }
-
- [Test]
- public void Equals ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- Assert.IsTrue (m.Equals (new Matrix (1, 2, 3, 4, 5, 6)));
- Assert.IsFalse (m.Equals (new Matrix (0, 2, 3, 4, 5, 6)));
- Assert.IsFalse (m.Equals (new Matrix (1, 0, 3, 4, 5, 6)));
- Assert.IsFalse (m.Equals (new Matrix (1, 2, 0, 4, 5, 6)));
- Assert.IsFalse (m.Equals (new Matrix (1, 2, 3, 0, 5, 6)));
- Assert.IsFalse (m.Equals (new Matrix (1, 2, 3, 4, 0, 6)));
- Assert.IsFalse (m.Equals (new Matrix (1, 2, 3, 4, 5, 0)));
-
- Assert.IsFalse (m.Equals (0));
- Assert.IsTrue (m.Equals ((object)m));
- }
-
- [Test]
- public void Determinant ()
- {
- Assert.AreEqual (0, (new Matrix (2, 2, 2, 2, 0, 0)).Determinant);
- Assert.AreEqual (-6, (new Matrix (1, 4, 2, 2, 0, 0)).Determinant);
- Assert.AreEqual (1, (new Matrix (1, 0, 0, 1, 0, 0)).Determinant);
- Assert.AreEqual (1, (new Matrix (1, 0, 0, 1, 5, 5)).Determinant);
- Assert.AreEqual (-1, (new Matrix (0, 1, 1, 0, 5, 5)).Determinant);
- }
-
- [Test]
- public void HasInverse ()
- {
- /* same matrices as in Determinant() */
- Assert.IsFalse ((new Matrix (2, 2, 2, 2, 0, 0)).HasInverse);
- Assert.IsTrue ((new Matrix (1, 4, 2, 2, 0, 0)).HasInverse);
- Assert.IsTrue ((new Matrix (1, 0, 0, 1, 0, 0)).HasInverse);
- Assert.IsTrue ((new Matrix (1, 0, 0, 1, 5, 5)).HasInverse);
- Assert.IsTrue ((new Matrix (0, 1, 1, 0, 5, 5)).HasInverse);
- }
-
- [Test]
- public void IsIdentity ()
- {
- Assert.IsTrue (Matrix.Identity.IsIdentity);;
- Assert.IsFalse ((new Matrix (1, 0, 0, 1, 5, 5)).IsIdentity);
- Assert.IsFalse ((new Matrix (5, 5, 5, 5, 5, 5)).IsIdentity);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))] // "Transform is not invertible."
- public void InvertException1 ()
- {
- Matrix m = new Matrix (2, 2, 2, 2, 0, 0);
- m.Invert ();
- }
-
- [Test]
- public void Invert ()
- {
- Matrix m;
-
- m = new Matrix (1, 0, 0, 1, 0, 0);
- m.Invert ();
- CheckMatrix (new Matrix (1, 0, 0, 1, 0, 0), m);
-
- m = new Matrix (1, 0, 0, 1, 5, 5);
- m.Invert ();
- CheckMatrix (new Matrix (1, 0, 0, 1, -5, -5), m);
-
- m = new Matrix (1, 0, 0, 2, 5, 5);
- m.Invert ();
- CheckMatrix (new Matrix (1, 0, 0, 0.5, -5, -2.5), m);
-
- m = new Matrix (0, 2, 4, 0, 5, 5);
- m.Invert ();
- CheckMatrix (new Matrix (0, 0.25, 0.5, 0, -2.5, -1.25), m);
- }
-
- [Test]
- public void Identity ()
- {
- CheckMatrix (new Matrix (1, 0, 0, 1, 0, 0), Matrix.Identity);
- }
-
- [Test]
- public void Multiply ()
- {
- CheckMatrix (new Matrix (5, 0, 0, 5, 10, 10),
- Matrix.Multiply (new Matrix (1, 0, 0, 1, 2, 2),
- new Matrix (5, 0, 0, 5, 0, 0)));
-
- CheckMatrix (new Matrix (0, 0, 0, 0, 10, 10),
- Matrix.Multiply (new Matrix (1, 0, 0, 1, 0, 0),
- new Matrix (0, 0, 0, 0, 10, 10)));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse ()
- {
- CheckMatrix (Matrix.Identity, Matrix.Parse ("Identity"));
- CheckMatrix (new Matrix (1, 0, 0, 1, 0, 0), Matrix.Parse ("1, 0, 0, 1, 0, 0"));
- CheckMatrix (new Matrix (0.1, 0.2, 0.3, 0.4, 0.5, 0.6), Matrix.Parse ("0.1,0.2,0.3,0.4,0.5,0.6"));
- // XXX what about locales where . and , are switched?
- }
-
- [Test]
- public void Prepend ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- m.Prepend (new Matrix (2, 4, 6, 8, 10, 12));
-
- CheckMatrix (new Matrix (14, 20, 30, 44, 51, 74), m);
- }
-
- [Test]
- public void Rotate ()
- {
- Matrix m = Matrix.Identity;
- m.Rotate (45);
- CheckMatrix (new Matrix (0.707106781186548,
- 0.707106781186547,
- -0.707106781186547,
- 0.707106781186548, 0, 0), m);
-
- m = new Matrix (1, 2, 3, 4, 5, 6);
- m.Rotate (33);
- CheckMatrix (new Matrix (-0.25060750208463,
- 2.22198017090588,
- 0.337455563776164,
- 4.98859937682678,
- 0.925518629636958,
- 7.75521858274768), m);
- }
-
- [Test]
- public void RotateAt ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- m.RotateAt (33, 5, 5);
-
- CheckMatrix (new Matrix (-0.25060750208463,
- 2.22198017090588,
- 0.337455563776164,
- 4.98859937682678,
- 4.45536096498497,
- 5.83867056794542), m);
- }
-
- [Test]
- public void RotateAtPrepend ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- m.RotateAtPrepend (33, 5, 5);
-
- CheckMatrix (new Matrix (2.47258767299051,
- 3.85589727595096,
- 1.97137266882125,
- 2.26540420175164,
- 2.78019829094125,
- 5.39349261148701), m);
- }
-
- [Test]
- public void RotatePrepend ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- m.RotatePrepend (33);
-
- CheckMatrix (new Matrix (2.47258767299051,
- 3.85589727595096,
- 1.97137266882125,
- 2.26540420175164,
- 5, 6), m);
- }
-
- [Test]
- public void Scale ()
- {
- Matrix m = Matrix.Identity;
-
- m.Scale (5, 6);
- CheckMatrix (new Matrix (5, 0, 0, 6, 0, 0), m);
-
- m = new Matrix (1, 2, 2, 1, 3, 3);
- m.Scale (5, 5);
- CheckMatrix (new Matrix (5, 10, 10, 5, 15, 15), m);
- }
-
- [Test]
- public void ScaleAt ()
- {
- Matrix m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAt (2, 2, 0, 0);
- CheckMatrix (new Matrix (2, 0, 0, 2, 4, 4), m);
-
- m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAt (2, 2, 4, 4);
- CheckMatrix (new Matrix (2, 0, 0, 2, 0, 0), m);
-
- m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAt (2, 2, 2, 2);
- CheckMatrix (new Matrix (2, 0, 0, 2, 2, 2), m);
- }
-
- [Test]
- public void ScaleAtPrepend ()
- {
- Matrix m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAtPrepend (2, 2, 0, 0);
- CheckMatrix (new Matrix (2, 0, 0, 2, 2, 2), m);
-
- m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAtPrepend (2, 2, 4, 4);
- CheckMatrix (new Matrix (2, 0, 0, 2, -2, -2), m);
-
- m = new Matrix (1, 0, 0, 1, 2, 2);
- m.ScaleAtPrepend (2, 2, 2, 2);
- CheckMatrix (new Matrix (2, 0, 0, 2, 0, 0), m);
- }
-
- [Test]
- public void ScalePrepend ()
- {
- Matrix m = Matrix.Identity;
-
- m.ScalePrepend (5, 6);
- CheckMatrix (new Matrix (5, 0, 0, 6, 0, 0), m);
-
- m = new Matrix (1, 2, 2, 1, 3, 3);
- m.ScalePrepend (5, 5);
- CheckMatrix (new Matrix (5, 10, 10, 5, 3, 3), m);
- }
-
- [Test]
- public void SetIdentity ()
- {
- Matrix m = new Matrix (5, 5, 5, 5, 5, 5);
- m.SetIdentity ();
- CheckMatrix (Matrix.Identity, m);
- }
-
- [Test]
- public void Skew ()
- {
- Matrix m = Matrix.Identity;
-
- m.Skew (10, 15);
- CheckMatrix (new Matrix (1,
- 0.267949192431123,
- 0.176326980708465,
- 1, 0, 0), m);
-
- m = new Matrix (1, 2, 2, 1, 3, 3);
- m.Skew (10, 15);
- CheckMatrix (new Matrix (1.35265396141693,
- 2.26794919243112,
- 2.17632698070847,
- 1.53589838486225,
- 3.52898094212539,
- 3.80384757729337), m);
- }
-
- [Test]
- public void SkewPrepend ()
- {
- Matrix m = Matrix.Identity;
-
- m.SkewPrepend (10, 15);
- CheckMatrix (new Matrix (1,
- 0.267949192431123,
- 0.176326980708465,
- 1, 0, 0), m);
-
- m = new Matrix (1, 2, 2, 1, 3, 3);
- m.SkewPrepend (10, 15);
- CheckMatrix (new Matrix (1.53589838486225,
- 2.26794919243112,
- 2.17632698070847,
- 1.35265396141693,
- 3, 3), m);
- }
-
- [Test]
- public void ToStringTest ()
- {
- Matrix m = new Matrix (1, 2, 3, 4, 5, 6);
- Assert.AreEqual ("1,2,3,4,5,6", m.ToString());
- m = Matrix.Identity;
- Assert.AreEqual ("Identity", m.ToString());
- }
-
- [Test]
- public void PointTransform ()
- {
- Matrix m = new Matrix (2, 0, 0, 2, 4, 4);
-
- Point p = new Point (5, 6);
-
- Assert.AreEqual (new Point (14, 16), m.Transform (p));
-
- Point[] ps = new Point[10];
- for (int i = 0; i < ps.Length; i ++)
- ps[i] = new Point (3 * i, 2 * i);
-
- m.Transform (ps);
-
- for (int i = 0; i < ps.Length; i ++)
- Assert.AreEqual (m.Transform (new Point (3 * i, 2 * i)), ps[i]);
- }
-
- [Test]
- public void VectorTransform ()
- {
- Matrix m = new Matrix (2, 0, 0, 2, 4, 4);
-
- Vector p = new Vector (5, 6);
-
- Assert.AreEqual (new Vector (10, 12), m.Transform (p));
-
- Vector[] ps = new Vector[10];
- for (int i = 0; i < ps.Length; i ++)
- ps[i] = new Vector (3 * i, 2 * i);
-
- m.Transform (ps);
-
- for (int i = 0; i < ps.Length; i ++)
- Assert.AreEqual (m.Transform (new Vector (3 * i, 2 * i)), ps[i]);
- }
-
- [Test]
- public void Translate ()
- {
- Matrix m = new Matrix (1, 0, 0, 1, 0, 0);
- m.Translate (5, 5);
- CheckMatrix (new Matrix (1, 0, 0, 1, 5, 5), m);
-
- m = new Matrix (2, 0, 0, 2, 0, 0);
- m.Translate (5, 5);
- CheckMatrix (new Matrix (2, 0, 0, 2, 5, 5), m);
- }
-
- [Test]
- public void TranslatePrepend ()
- {
- Matrix m = new Matrix (1, 0, 0, 1, 0, 0);
- m.TranslatePrepend (5, 5);
- CheckMatrix (new Matrix (1, 0, 0, 1, 5, 5), m);
-
- m = new Matrix (2, 0, 0, 2, 0, 0);
- m.TranslatePrepend (5, 5);
- CheckMatrix (new Matrix (2, 0, 0, 2, 10, 10), m);
- }
-
- }
-}
-
+++ /dev/null
-//
-// Tests for System.Windows.Threading.Dispatcher.cs
-//
-// Author:
-// Miguel de Icaza (miguel@novell.com)
-//
-
-//
-// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using NUnit.Framework;
-using System;
-using System.IO;
-using System.Globalization;
-using System.Windows.Threading;
-using System.Threading;
-
-namespace MonoTests.System.Windows.Threading
-{
-
- delegate void Action ();
-
- [TestFixture]
- public class DispatcherTest {
- EventWaitHandle wait, wait2;
- DispatcherOperation op;
-
- [SetUp]
- public void DispatcherSetup ()
- {
- wait = new EventWaitHandle (false, EventResetMode.AutoReset);
- wait2 = new EventWaitHandle (false, EventResetMode.AutoReset);
- }
-
- //
- // Tests that fields in a DispatcherOperation can be issued from
- // a separate thread
- //
- [Test]
- public void TestDispatcherOpOnThread ()
- {
- Thread t = new Thread (new ThreadStart (thread));
- Dispatcher d = Dispatcher.CurrentDispatcher;
-
- t.Start ();
- op = Dispatcher.CurrentDispatcher.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- Console.WriteLine ("Some methods");
- });
- wait.Set ();
- wait2.WaitOne ();
- }
-
- void thread ()
- {
- wait.WaitOne ();
- op.Priority = DispatcherPriority.DataBind;
- wait2.Set ();
- }
-
- [Test]
- public void TestDispatcherOrder ()
- {
- Dispatcher d = Dispatcher.CurrentDispatcher;
-
- DispatcherFrame frame = new DispatcherFrame ();
- bool fail = true;
- int next = 1;
-
- d.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- if (next != 3)
- throw new Exception ("Expected state 3, got " + next.ToString ());
-
- next = 4;
- Console.WriteLine ("First");
- });
- d.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- if (next != 4)
- throw new Exception ("Expected state 4, got " + next.ToString ());
-
- next = 5;
- Console.WriteLine ("Second");
- });
- d.BeginInvoke (DispatcherPriority.Send, (Action) delegate {
- if (next != 1)
- throw new Exception ("Expected state 1, got " + next.ToString ());
- next = 2;
- Console.WriteLine ("High Priority");
- d.BeginInvoke (DispatcherPriority.Send, (Action) delegate {
- if (next != 2)
- throw new Exception ("Expected state 2, got " + next.ToString ());
-
- next = 3;
- Console.WriteLine ("INSERTED");
- });
- });
- d.BeginInvoke (DispatcherPriority.SystemIdle, (Action) delegate {
- if (next != 6)
- throw new Exception ("Expected state 6, got " + next.ToString ());
-
- Console.WriteLine ("Idle");
- frame.Continue = false;
- fail = false;
- });
-
- d.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- if (next != 5)
- throw new Exception ("Expected state 5, got " + next.ToString ());
- next = 6;
- Console.WriteLine ("Last normal");
- });
-
- Dispatcher.PushFrame (frame);
-
- if (fail)
- throw new Exception ("Expected all states to run");
- }
- }
-}
-
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// (C) iain@mccoy.id.au
-//
-// Authors:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- class X {
- public static readonly DependencyProperty AProperty = DependencyProperty.RegisterAttached("A", typeof(int), typeof(X));
- public static void SetA(DependencyObject obj, int value)
- {
- obj.SetValue(AProperty, value);
- }
- public static int GetA(DependencyObject obj)
- {
- return (int)obj.GetValue(AProperty);
- }
-
- public static readonly DependencyProperty BProperty = DependencyProperty.RegisterAttached("B", typeof(string), typeof(X));
- public static void SetB(DependencyObject obj, string value)
- {
- obj.SetValue(BProperty, value);
- }
- public static string GetB(DependencyObject obj)
- {
- return (string)obj.GetValue(BProperty);
- }
-
- }
-
- class Y : DependencyObject {
- }
-
- [TestFixture]
- public class DependencyObjectTest {
- [Test]
- [Category ("NotWorking")]
- public void TestAttachedProperty()
- {
- Y y1 = new Y();
- X.SetA(y1, 2);
- Assert.AreEqual(2, X.GetA(y1));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Test2AttachedProperties()
- {
- Y y1 = new Y();
- Y y2 = new Y();
- X.SetA(y1, 2);
- X.SetA(y2, 3);
- Assert.AreEqual(2, X.GetA(y1));
- Assert.AreEqual(3, X.GetA(y2));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestEnumerationOfAttachedProperties()
- {
- int count = 0;
- Y y = new Y();
- X.SetA(y, 2);
- X.SetB(y, "Hi");
-
- LocalValueEnumerator e = y.GetLocalValueEnumerator();
- while (e.MoveNext()) {
- count++;
- if (e.Current.Property == X.AProperty)
- Assert.AreEqual(e.Current.Value, 2);
- else if (e.Current.Property == X.BProperty)
- Assert.AreEqual(e.Current.Value, "Hi");
- else
- Assert.Fail("Wrong sort of property" + e.Current.Property);
- }
-
- Assert.AreEqual(2, count);
- }
-
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class DependencyObjectTypeTest {
-
- [Test]
- public void Accessors ()
- {
- DependencyObjectType t = DependencyObjectType.FromSystemType (typeof (TestDepObj));
- Assert.AreEqual ("TestDepObj", t.Name);
- Assert.AreEqual (typeof (TestDepObj), t.SystemType);
- Assert.AreEqual (typeof (DependencyObject), t.BaseType.SystemType);
- // we can't test the Id field's value, as it's
- // not guaranteed to be anything in
- // particular.
- }
-
- [Test]
- public void IsInstanceOfType ()
- {
- DependencyObjectType t = DependencyObjectType.FromSystemType (typeof (TestDepObj));
- DependencyObjectType t2 = DependencyObjectType.FromSystemType (typeof (TestSubclass));
- Assert.IsTrue (t.IsInstanceOfType (new TestSubclass()));
- Assert.IsTrue (t2.IsSubclassOf (t));
- Assert.IsFalse (t.IsSubclassOf (t2));
- }
-
- [Test]
- public void TestCache ()
- {
- DependencyObjectType t = DependencyObjectType.FromSystemType (typeof (TestDepObj));
- DependencyObjectType t2 = DependencyObjectType.FromSystemType (typeof (TestDepObj));
- Assert.AreSame (t, t2);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class DependencyPropertyTest {
- class ObjectPoker : DependencyObject {
- public static readonly DependencyProperty TestProp1 = DependencyProperty.Register ("property1", typeof (string), typeof (ObjectPoker));
- }
-
- class SubclassPoker : ObjectPoker {
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))] // "'p1' property was already registered by 'ObjectPoker'."
- public void TestMultipleRegisters ()
- {
- DependencyProperty.Register ("p1", typeof (string), typeof (ObjectPoker));
- DependencyProperty.Register ("p1", typeof (string), typeof (ObjectPoker));
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))] // "'property1' property was already registered by 'SubclassPoker'."
- public void TestMultipleAddOwner ()
- {
- ObjectPoker.TestProp1.AddOwner (typeof (SubclassPoker), new PropertyMetadata());
- ObjectPoker.TestProp1.AddOwner (typeof (SubclassPoker), new PropertyMetadata());
- }
-
- [Test]
- public void TestDefaultMetadata ()
- {
- DependencyProperty p;
- p = DependencyProperty.Register ("TestDefaultMetadata1", typeof (string), typeof (ObjectPoker));
- Assert.IsNotNull (p.DefaultMetadata);
-
- p = DependencyProperty.Register ("TestDefaultMetadata2", typeof (string), typeof (ObjectPoker), new PropertyMetadata ("hi"));
- Assert.IsNotNull (p.DefaultMetadata);
- Assert.AreEqual ("hi", p.DefaultMetadata.DefaultValue);
- }
-
- [Test]
- public void TestAddOwnerNullMetadata()
- {
- DependencyProperty p = DependencyProperty.Register ("TestAddOwnerNullMetadata", typeof (string), typeof (ObjectPoker));
- p.AddOwner (typeof (SubclassPoker), null);
-
- PropertyMetadata pm = p.GetMetadata (typeof (SubclassPoker));
- Assert.IsNotNull (pm);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void TestOverrideMetadataNullMetadata()
- {
- DependencyProperty p = DependencyProperty.Register ("TestOverrideMetadataNullMetadata", typeof (string), typeof (ObjectPoker));
- p.OverrideMetadata (typeof (SubclassPoker), null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void TestOverrideMetadataNullType()
- {
- DependencyProperty p = DependencyProperty.Register ("TestOverrideMetadataNullType", typeof (string), typeof (ObjectPoker));
- p.OverrideMetadata (null, new PropertyMetadata());
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TestReadonlyOverrideMetadata ()
- {
- DependencyPropertyKey ro_key = DependencyProperty.RegisterReadOnly ("readonly-prop1",
- typeof(double),
- typeof(ObjectPoker),
- new PropertyMetadata(double.NaN));
- ro_key.DependencyProperty.OverrideMetadata (typeof (SubclassPoker), new PropertyMetadataPoker());
- }
-
- [Test]
- public void TestReadonlyOverrideMetadataFromKey ()
- {
- DependencyPropertyKey ro_key = DependencyProperty.RegisterReadOnly ("readonly-prop2",
- typeof(double),
- typeof(ObjectPoker),
- new PropertyMetadata(double.NaN));
- ro_key.OverrideMetadata (typeof (SubclassPoker), new PropertyMetadataPoker ());
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// (C) iain@mccoy.id.au
-//
-// Authors:
-// Iain McCoy (iain@mccoy.id.au)
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- class FreezablePoker {
- };
-
- [TestFixture]
- public class FreezableTest {
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class Int32RectConverterTest
- {
- [Test]
- public void CanConvertFrom ()
- {
- Int32RectConverter r = new Int32RectConverter ();
-
- Assert.IsTrue (r.CanConvertFrom (typeof (string)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Int32Rect)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Size)));
- }
-
- [Test]
- public void CanConvertTo ()
- {
- Int32RectConverter r = new Int32RectConverter ();
-
- Assert.IsTrue (r.CanConvertTo (typeof (string)));
- Assert.IsFalse (r.CanConvertTo (typeof (Int32Rect)));
- Assert.IsFalse (r.CanConvertTo (typeof (Size)));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertFrom ()
- {
- Int32RectConverter r = new Int32RectConverter ();
-
- object or = r.ConvertFrom ("1, 2, 3, 4");
-
- Assert.AreEqual (typeof (Int32Rect), or.GetType());
- Assert.AreEqual (new Int32Rect (1, 2, 3, 4), or);
-
- or = r.ConvertFrom ("Empty");
- Assert.AreEqual (typeof (Int32Rect), or.GetType());
- Assert.IsTrue (((Int32Rect)or).IsEmpty);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertFrom_size ()
- {
- Int32RectConverter r = new Int32RectConverter ();
-
- r.ConvertFrom (new Size (10, 20));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertFrom_negative ()
- {
- Int32RectConverter r = new Int32RectConverter ();
- object or = r.ConvertFrom ("1, 2, -4, -5");
-
- Assert.AreEqual (typeof (Int32Rect), or.GetType());
- Assert.AreEqual (new Int32Rect (1, 2, -4, -5), or);
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertTo ()
- {
- Int32RectConverter r = new Int32RectConverter ();
-
- Int32Rect rect = new Int32Rect (0, 0, 1, 2);
-
- object o = r.ConvertTo (rect, typeof (string));
-
- Assert.AreEqual (typeof (string), o.GetType());
- Assert.AreEqual ("0,0,1,2", (string)o);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class Int32RectTest
- {
- [Test]
- public void Ctor_Accessor ()
- {
- Int32Rect r;
-
- r = new Int32Rect (10, 15, 20, 30);
- Assert.AreEqual (10, r.X);
- Assert.AreEqual (15, r.Y);
- Assert.AreEqual (20, r.Width);
- Assert.AreEqual (30, r.Height);
- }
-
- [Test]
- public void Ctor_NegativeWidth ()
- {
- new Int32Rect (10, 10, -10, 10);
- }
-
- [Test]
- public void Ctor_NegativeHeight ()
- {
- new Int32Rect (10, 10, 10, -10);
- }
-
- [Test]
- public void Empty ()
- {
- Int32Rect r = Int32Rect.Empty;
- Assert.AreEqual (0, r.X);
- Assert.AreEqual (0, r.Y);
- Assert.AreEqual (0, r.Width);
- Assert.AreEqual (0, r.Height);
- }
-
- [Test]
- public void ModifyEmpty_x ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.X = 5;
- }
-
- [Test]
- public void ModifyEmpty_y ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.Y = 5;
- }
-
- [Test]
- public void ModifyEmpty_width ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.Width = 5;
- }
-
- [Test]
- public void ModifyEmpty_height ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.Height = 5;
- }
-
- [Test]
- public void ModifyEmpty_negative_width ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.Width = -5;
- }
-
- [Test]
- public void ModifyEmpty_negative_height ()
- {
- Int32Rect r = Int32Rect.Empty;
- r.Height = -5;
- }
-
-
- [Test]
- public void Modify_negative_width ()
- {
- Int32Rect r = new Int32Rect (0, 0, 10, 10);
- r.Width = -5;
- }
-
- [Test]
- public void Modify_negative_height ()
- {
- Int32Rect r = new Int32Rect (0, 0, 10, 10);
- r.Height = -5;
- }
-
- [Test]
- public void IsEmpty ()
- {
- Assert.IsTrue (Int32Rect.Empty.IsEmpty);
- Assert.IsTrue ((new Int32Rect (0, 0, 0, 0)).IsEmpty);
- Assert.IsFalse ((new Int32Rect (5, 5, 5, 5)).IsEmpty);
- }
-
- [Test]
- public void ToStringTest ()
- {
- Int32Rect r = new Int32Rect (1, 2, 3, 4);
- Assert.AreEqual ("1,2,3,4", r.ToString());
-
- Assert.AreEqual ("Empty", Int32Rect.Empty.ToString());
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse ()
- {
- Int32Rect r = Int32Rect.Parse ("1, 2, 3, 4");
- Assert.AreEqual (new Int32Rect (1, 2, 3, 4), r);
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ParseNegative ()
- {
- Int32Rect.Parse ("1, 2, -3, -4");
- }
-
- [Test]
- public void Equals ()
- {
- Int32Rect r1 = new Int32Rect (1, 2, 3, 4);
- Int32Rect r2 = r1;
-
- Assert.IsTrue (r1.Equals (r1));
-
- r2.X = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.X = r1.X;
-
- r2.Y = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Y = r1.Y;
-
- r2.Width = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Width = r1.Width;
-
- r2.Height = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Height = r1.Height;
-
- Assert.IsFalse (r1.Equals (new object()));
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class PointConverterTest
- {
- [Test]
- public void CanConvertFrom ()
- {
- PointConverter r = new PointConverter ();
-
- Assert.IsTrue (r.CanConvertFrom (typeof (string)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Point)));
- }
-
- [Test]
- public void CanConvertTo ()
- {
- PointConverter r = new PointConverter ();
-
- Assert.IsTrue (r.CanConvertTo (typeof (string)));
- Assert.IsFalse (r.CanConvertTo (typeof (Point)));
- }
-
- [Test]
- public void ConvertFrom ()
- {
- PointConverter r = new PointConverter ();
-
- object or = r.ConvertFrom ("3, 4");
-
- Assert.AreEqual (typeof (Point), or.GetType());
- Assert.AreEqual (new Point (3, 4), or);
-
- or = r.ConvertFrom ("-1, -4");
- Assert.AreEqual (typeof (Point), or.GetType());
- Assert.AreEqual (new Point (-1, -4), or);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertFrom_size ()
- {
- PointConverter r = new PointConverter ();
-
- r.ConvertFrom (new Point (10, 20));
- }
-
- [Test]
- public void ConvertTo ()
- {
- PointConverter r = new PointConverter ();
-
- Point rect = new Point (1, 2);
-
- object o = r.ConvertTo (rect, typeof (string));
-
- Assert.AreEqual (typeof (string), o.GetType());
- Assert.AreEqual ("1,2", (string)o);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System.Globalization;
-using System.Threading;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class PointTest {
-
- [Test]
- public void Accessors ()
- {
- Point p = new Point (4, 5);
- Assert.AreEqual (4, p.X);
- Assert.AreEqual (5, p.Y);
- }
-
- [Test]
- public void Equals ()
- {
- Point p = new Point (4, 5);
- Assert.IsTrue (p.Equals (new Point (4, 5)));
- Assert.IsFalse (p.Equals (new Point (5, 4)));
- Assert.IsFalse (p.Equals (new object()));
- }
-
- [Test]
- public void getHashCodeTest()
- {
- Point p1 = new Point(-5, -4);
- Point p2 = new Point(5, 4);
- Point p3 = new Point(5, 4);
-
- Assert.AreEqual(p2.GetHashCode(), p3.GetHashCode());
- Assert.AreEqual(p1.GetHashCode(),p2.GetHashCode());
- }
-
- [Test]
- public void ToStringTest ()
- {
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
- Point p = new Point (4, 5);
- Assert.AreEqual ("4,5", p.ToString());
- Point p2 = new Point(4.1, 5.1);
- Assert.AreEqual("4.1,5.1",p2.ToString());
- Point p3 = new Point(0, 0);
- Assert.AreEqual("0,0", p3.ToString());
-
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-de");
- Point p4 = new Point(4, 5);
- Assert.AreEqual("4;5", p4.ToString());
- Point p5 = new Point(4.1, 5.1);
- Assert.AreEqual("4,1;5,1", p5.ToString());
- Point p6 = new Point(0, 0);
- Assert.AreEqual("0;0", p6.ToString());
- }
-
- [Test]
- public void Parse ()
- {
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("fr-fr");
-
- Point p = Point.Parse ("4,5");
- Assert.AreEqual (new Point (4, 5), p);
-
- p = Point.Parse ("-4,-5");
- Assert.AreEqual (new Point (-4, -5), p);
-
- p = Point.Parse ("-4.4,-5.5");
- Assert.AreEqual (new Point (-4.4, -5.5), p);
-
- p = Point.Parse("4.4,5.5");
- Assert.AreEqual(new Point(4.4, 5.5), p);
-
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
- Assert.AreEqual(new Point(4.4, 5.5), p);
- }
-
- [Test]
- public void Offset ()
- {
- Point p = new Point (4, 5);
- p.Offset (3, 4);
- Assert.AreEqual (new Point (7, 9), p);
- }
-
- [Test]
- public void Add ()
- {
- Point p = Point.Add (new Point (4, 5), new Vector (2, 3));
- Assert.AreEqual (new Point (6, 8), p);
- }
-
- [Test]
- public void Subtract1 ()
- {
- Point p = Point.Subtract (new Point (4, 5), new Vector (2, 3));
- Assert.AreEqual (new Point (2, 2), p);
- }
-
- [Test]
- public void Subtract2 ()
- {
- Vector v = Point.Subtract (new Point (4, 5), new Point (2, 3));
- Assert.AreEqual (new Vector (2, 2), v);
- }
-
- [Test]
- public void Multiply ()
- {
- Matrix m = Matrix.Identity;
- m.Scale (2, 2);
-
- Point p = Point.Multiply (new Point (2, 3), m);
-
- Assert.AreEqual (new Point (4, 6), p);
- }
- }
-
-}
-
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- class TestDepObj : DependencyObject {
- public static readonly DependencyProperty TestProp1 = DependencyProperty.Register ("property1", typeof (string), typeof (TestDepObj));
- public static readonly DependencyProperty TestProp2 = DependencyProperty.Register ("property2", typeof (string), typeof (TestDepObj));
- public static readonly DependencyProperty TestProp3 = DependencyProperty.Register ("property3", typeof (string), typeof (TestDepObj));
-
- public static readonly DependencyProperty TestProp4 = DependencyProperty.Register ("property4", typeof (string), typeof (TestDepObj), new PropertyMetadata ("default", changed, coerce));
-
- static void changed (DependencyObject d, DependencyPropertyChangedEventArgs e) { }
- static object coerce (DependencyObject d, object baseValue) { return baseValue; }
- }
-
- class TestSubclass : TestDepObj {
- }
-
-
- public class PropertyMetadataPoker : PropertyMetadata {
-
- public bool BaseIsSealed {
- get { return base.IsSealed; }
- }
-
- public void CallApply ()
- {
- OnApply (TestDepObj.TestProp1, typeof (TestDepObj));
- }
-
- public void CallMerge (PropertyMetadata baseMetadata, DependencyProperty dp)
- {
- Merge (baseMetadata, dp);
- }
-
- protected override void Merge (PropertyMetadata baseMetadata, DependencyProperty dp)
- {
- Console.WriteLine (Environment.StackTrace);
- base.Merge (baseMetadata, dp);
- }
-
- protected override void OnApply (DependencyProperty dp, Type targetType)
- {
- base.OnApply (dp, targetType);
- Console.WriteLine ("IsSealed in OnApply? {0}", IsSealed);
- Console.WriteLine (Environment.StackTrace);
- }
- }
-
-
- [TestFixture]
- public class PropertyMetadataTest {
-
- [Test]
- public void DefaultValues ()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- Assert.AreEqual (null, m.DefaultValue);
- Assert.AreEqual (null, m.PropertyChangedCallback);
- Assert.AreEqual (null, m.CoerceValueCallback);
- }
-
- [Test]
- public void IsSealed ()
- {
- PropertyMetadataPoker m;
-
- Console.WriteLine (1);
- // calling OnApply isn't what sets the metadata to be sealed
- m = new PropertyMetadataPoker();
- Assert.IsFalse (m.BaseIsSealed);
- m.CallApply ();
- Assert.IsFalse (m.BaseIsSealed);
-
- Console.WriteLine (2);
- // calling OverrideMetadata does, however
- m = new PropertyMetadataPoker ();
- TestDepObj.TestProp1.OverrideMetadata (typeof (TestSubclass), m);
- Assert.IsTrue (m.BaseIsSealed);
-
- Console.WriteLine (3);
- // calling DependencyProperty.AddOwner does too, but only because it calls OverrideMetadata
- m = new PropertyMetadataPoker ();
- TestDepObj.TestProp2.AddOwner (typeof (TestSubclass), m);
- Assert.IsTrue (m.BaseIsSealed);
-
- Console.WriteLine (4);
- // lastly, calling DependencyProperty.Register does.
- m = new PropertyMetadataPoker ();
- DependencyProperty.Register ("xxx", typeof (string), typeof (TestDepObj), m);
- Assert.IsTrue (m.BaseIsSealed);
- }
-
- [Test]
- public void TestAddOwnerResult()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- DependencyProperty p = TestDepObj.TestProp3.AddOwner (typeof (TestSubclass), m);
-
- // they're the same object
- Assert.AreSame (p, TestDepObj.TestProp3);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyAfterSealed1 ()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- DependencyProperty.Register ("p1", typeof (string), typeof (TestDepObj), m);
- Assert.IsTrue (m.BaseIsSealed);
-
- m.CoerceValueCallback = null;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyAfterSealed2 ()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- DependencyProperty.Register ("p2", typeof (string), typeof (TestDepObj), m);
- Assert.IsTrue (m.BaseIsSealed);
-
- m.PropertyChangedCallback = null;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyAfterSealed3 ()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- DependencyProperty.Register ("p3", typeof (string), typeof (TestDepObj), m);
- Assert.IsTrue (m.BaseIsSealed);
-
- m.DefaultValue = "hi";
- }
-
- [Test]
- public void TestMerge ()
- {
- PropertyMetadataPoker m = new PropertyMetadataPoker ();
- m.CallMerge (TestDepObj.TestProp4.GetMetadata (typeof (TestDepObj)), TestDepObj.TestProp4);
- Assert.AreEqual ("default", m.DefaultValue);
- Assert.IsNotNull (m.CoerceValueCallback);
- Assert.IsNotNull (m.PropertyChangedCallback);
-
- m = new PropertyMetadataPoker ();
- m.DefaultValue = "non-default";
- m.CallMerge (TestDepObj.TestProp4.GetMetadata (typeof (TestDepObj)), TestDepObj.TestProp4);
- Assert.AreEqual ("non-default", m.DefaultValue);
- Assert.IsNotNull (m.CoerceValueCallback);
- Assert.IsNotNull (m.PropertyChangedCallback);
-
- // XXX should check overriding of coerce and
- // property changed callbacks, but we'll trust
- // they behave the same..
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))] // "Default value cannot be 'Unset'."
- public void TestSetDefaultToUnsetValue ()
- {
- PropertyMetadata m = new PropertyMetadata ();
- m.DefaultValue = DependencyProperty.UnsetValue;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))] // "Default value cannot be 'Unset'."
- public void TestInitDefaultToUnsetValue ()
- {
- new PropertyMetadata (DependencyProperty.UnsetValue);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class RectConverterTest
- {
- [Test]
- public void CanConvertFrom ()
- {
- RectConverter r = new RectConverter ();
-
- Assert.IsTrue (r.CanConvertFrom (typeof (string)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Rect)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Size)));
- }
-
- [Test]
- public void CanConvertTo ()
- {
- RectConverter r = new RectConverter ();
-
- Assert.IsTrue (r.CanConvertTo (typeof (string)));
- Assert.IsFalse (r.CanConvertTo (typeof (Rect)));
- Assert.IsFalse (r.CanConvertTo (typeof (Size)));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertFrom ()
- {
- RectConverter r = new RectConverter ();
-
- object or = r.ConvertFrom ("1, 2, 3, 4");
-
- Assert.AreEqual (typeof (Rect), or.GetType());
- Assert.AreEqual (new Rect (1, 2, 3, 4), or);
-
- or = r.ConvertFrom ("Empty");
- Assert.AreEqual (typeof (Rect), or.GetType());
- Assert.IsTrue (((Rect)or).IsEmpty);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertFrom_size ()
- {
- RectConverter r = new RectConverter ();
-
- r.ConvertFrom (new Size (10, 20));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (ArgumentException))]
- public void ConvertFrom_negative ()
- {
- RectConverter r = new RectConverter ();
- r.ConvertFrom ("1, 2, -4, -5");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertTo ()
- {
- RectConverter r = new RectConverter ();
-
- Rect rect = new Rect (0, 0, 1, 2);
-
- object o = r.ConvertTo (rect, typeof (string));
-
- Assert.AreEqual (typeof (string), o.GetType());
- Assert.AreEqual ("0,0,1,2", (string)o);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class RectTest
- {
- [Test]
- public void Ctor_Accessor ()
- {
- Rect r;
-
- r = new Rect (new Size (40, 50));
- Assert.AreEqual (0, r.X);
- Assert.AreEqual (0, r.Y);
- Assert.AreEqual (40, r.Width);
- Assert.AreEqual (50, r.Height);
- Assert.AreEqual (0, r.Left);
- Assert.AreEqual (0, r.Top);
- Assert.AreEqual (40, r.Right);
- Assert.AreEqual (50, r.Bottom);
- Assert.AreEqual (new Point (0, 0), r.TopLeft);
- Assert.AreEqual (new Point (40, 0), r.TopRight);
- Assert.AreEqual (new Point (0, 50), r.BottomLeft);
- Assert.AreEqual (new Point (40, 50), r.BottomRight);
- Assert.AreEqual (new Point (0, 0), r.Location);
- Assert.AreEqual (new Size (40, 50), r.Size);
-
- r = new Rect (new Point (4, 5), new Vector (20, 30));
- Assert.AreEqual (4, r.X);
- Assert.AreEqual (5, r.Y);
- Assert.AreEqual (20, r.Width);
- Assert.AreEqual (30, r.Height);
- Assert.AreEqual (4, r.Left);
- Assert.AreEqual (5, r.Top);
- Assert.AreEqual (24, r.Right);
- Assert.AreEqual (35, r.Bottom);
- Assert.AreEqual (new Point (4, 5), r.TopLeft);
- Assert.AreEqual (new Point (24, 5), r.TopRight);
- Assert.AreEqual (new Point (4, 35), r.BottomLeft);
- Assert.AreEqual (new Point (24, 35), r.BottomRight);
- Assert.AreEqual (new Point (4, 5), r.Location);
- Assert.AreEqual (new Size (20, 30), r.Size);
-
- r = new Rect (new Point (4, 5), new Point (20, 30));
- Assert.AreEqual (4, r.X);
- Assert.AreEqual (5, r.Y);
- Assert.AreEqual (16, r.Width);
- Assert.AreEqual (25, r.Height);
- Assert.AreEqual (4, r.Left);
- Assert.AreEqual (5, r.Top);
- Assert.AreEqual (20, r.Right);
- Assert.AreEqual (30, r.Bottom);
- Assert.AreEqual (new Point (4, 5), r.TopLeft);
- Assert.AreEqual (new Point (20, 5), r.TopRight);
- Assert.AreEqual (new Point (4, 30), r.BottomLeft);
- Assert.AreEqual (new Point (20, 30), r.BottomRight);
- Assert.AreEqual (new Point (4, 5), r.Location);
- Assert.AreEqual (new Size (16,25), r.Size);
-
- r = new Rect (new Point (20, 30), new Point (4, 5));
- Assert.AreEqual (4, r.X);
- Assert.AreEqual (5, r.Y);
- Assert.AreEqual (16, r.Width);
- Assert.AreEqual (25, r.Height);
- Assert.AreEqual (4, r.Left);
- Assert.AreEqual (5, r.Top);
- Assert.AreEqual (20, r.Right);
- Assert.AreEqual (30, r.Bottom);
- Assert.AreEqual (new Point (4, 5), r.TopLeft);
- Assert.AreEqual (new Point (20, 5), r.TopRight);
- Assert.AreEqual (new Point (4, 30), r.BottomLeft);
- Assert.AreEqual (new Point (20, 30), r.BottomRight);
- Assert.AreEqual (new Point (4, 5), r.Location);
- Assert.AreEqual (new Size (16,25), r.Size);
-
- r = new Rect (10, 15, 20, 30);
- Assert.AreEqual (10, r.X);
- Assert.AreEqual (15, r.Y);
- Assert.AreEqual (20, r.Width);
- Assert.AreEqual (30, r.Height);
- Assert.AreEqual (10, r.Left);
- Assert.AreEqual (15, r.Top);
- Assert.AreEqual (30, r.Right);
- Assert.AreEqual (45, r.Bottom);
- Assert.AreEqual (new Point (10, 15), r.TopLeft);
- Assert.AreEqual (new Point (30, 15), r.TopRight);
- Assert.AreEqual (new Point (10, 45), r.BottomLeft);
- Assert.AreEqual (new Point (30, 45), r.BottomRight);
- Assert.AreEqual (new Point (10, 15), r.Location);
- Assert.AreEqual (new Size (20, 30), r.Size);
-
- r = new Rect (new Point (10, 15), new Size (20, 30));
- Assert.AreEqual (10, r.X);
- Assert.AreEqual (15, r.Y);
- Assert.AreEqual (20, r.Width);
- Assert.AreEqual (30, r.Height);
- Assert.AreEqual (10, r.Left);
- Assert.AreEqual (15, r.Top);
- Assert.AreEqual (30, r.Right);
- Assert.AreEqual (45, r.Bottom);
- Assert.AreEqual (new Point (10, 15), r.TopLeft);
- Assert.AreEqual (new Point (30, 15), r.TopRight);
- Assert.AreEqual (new Point (10, 45), r.BottomLeft);
- Assert.AreEqual (new Point (30, 45), r.BottomRight);
- Assert.AreEqual (new Point (10, 15), r.Location);
- Assert.AreEqual (new Size (20, 30), r.Size);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Ctor_NegativeWidth ()
- {
- new Rect (10, 10, -10, 10);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Ctor_NegativeHeight ()
- {
- new Rect (10, 10, 10, -10);
- }
-
- [Test]
- public void Empty ()
- {
- Rect r = Rect.Empty;
- Assert.AreEqual (Double.PositiveInfinity, r.X);
- Assert.AreEqual (Double.PositiveInfinity, r.Y);
- Assert.AreEqual (Double.NegativeInfinity, r.Width);
- Assert.AreEqual (Double.NegativeInfinity, r.Height);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_x ()
- {
- Rect r = Rect.Empty;
- r.X = 5;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_y ()
- {
- Rect r = Rect.Empty;
- r.Y = 5;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_width ()
- {
- Rect r = Rect.Empty;
- r.Width = 5;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_height ()
- {
- Rect r = Rect.Empty;
- r.Height = 5;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_negative_width ()
- {
- Rect r = Rect.Empty;
- r.Width = -5;
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_negative_height ()
- {
- Rect r = Rect.Empty;
- r.Height = -5;
- }
-
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Modify_negative_width ()
- {
- Rect r = new Rect (0, 0, 10, 10);
- r.Width = -5;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Modify_negative_height ()
- {
- Rect r = new Rect (0, 0, 10, 10);
- r.Height = -5;
- }
-
- [Test]
- public void IsEmpty ()
- {
- Assert.IsTrue (Rect.Empty.IsEmpty);
- Assert.IsFalse ((new Rect (5, 5, 5, 5)).IsEmpty);
- }
-
- [Test]
- public void Location ()
- {
- Rect r = new Rect (0, 0, 0, 0);
-
- r.Location = new Point (10, 15);
- Assert.AreEqual (10, r.X);
- Assert.AreEqual (15, r.Y);
- }
-
- [Test]
- public void Size ()
- {
- Rect r = new Rect (0, 0, 5, 5);
-
- r.Size = new Size (10, 15);
- Assert.AreEqual (10, r.Width);
- Assert.AreEqual (15, r.Height);
- }
-
- [Test]
- public void ToStringTest ()
- {
- Rect r = new Rect (1, 2, 3, 4);
- Assert.AreEqual ("1,2,3,4", r.ToString());
-
- Assert.AreEqual ("Empty", Rect.Empty.ToString());
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse ()
- {
- Rect r = Rect.Parse ("1 , 2, 3, 4");
- Assert.AreEqual (new Rect (1, 2, 3, 4), r);
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse2 ()
- {
- Rect r = Rect.Parse ("1 2 3 4");
- Assert.AreEqual (new Rect (1, 2, 3, 4), r);
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse3 ()
- {
- Rect r = Rect.Parse (" 1 2 3 4 ");
- Assert.AreEqual (new Rect (1, 2, 3, 4), r);
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ParseWithBothSeparators ()
- {
- Rect.Parse ("1.0, 3 2.0, 5.0");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (ArgumentException))]
- public void ParseNegative ()
- {
- Rect.Parse ("1, 2, -3, -4");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))] // "Premature string termination encountered."
- public void Parse3Doubles ()
- {
- Rect.Parse ("1.0, 3, -5");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (FormatException))]
- public void ParseInvalidString1 ()
- {
- Rect.Parse ("1.0, 3, -x, 5.0");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ParseInvalidString3 ()
- {
- Rect.Parse ("1.0, 3, 2.0, 5.0, 2");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (FormatException))]
- public void ParseInvalidString4 ()
- {
- Rect.Parse ("1.0-3, 2.0, 5.0, 2");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ParseInvalidString5 ()
- {
- Rect.Parse ("1.0, 2.0, 5.0, 2,");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ParseInvalidString6 ()
- {
- Rect.Parse ("\n1.0, 2.0, 5.0, 2");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ParseInvalidString7 ()
- {
- Rect r = Rect.Parse ("1,, 2, 3, 4");
- Assert.AreEqual (new Rect (1, 2, 3, 4), r);
- }
-
- [Test]
- public void Equals ()
- {
- Rect r1 = new Rect (1, 2, 3, 4);
- Rect r2 = r1;
-
- Assert.IsTrue (r1.Equals (r1));
-
- r2.X = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.X = r1.X;
-
- r2.Y = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Y = r1.Y;
-
- r2.Width = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Width = r1.Width;
-
- r2.Height = 0;
- Assert.IsFalse (r1.Equals (r2));
- r2.Height = r1.Height;
-
- Assert.IsFalse (r1.Equals (new object()));
- }
-
- [Test]
- public void ContainsRect ()
- {
- Rect r = new Rect (0, 0, 50, 50);
-
- // fully contained
- Assert.IsTrue (r.Contains (new Rect (10, 10, 10, 10)));
-
- // crosses top side
- Assert.IsFalse (r.Contains (new Rect (5, -5, 10, 10)));
-
- // crosses right side
- Assert.IsFalse (r.Contains (new Rect (5, 5, 50, 10)));
-
- // crosses bottom side
- Assert.IsFalse (r.Contains (new Rect (5, 5, 10, 50)));
-
- // crosses left side
- Assert.IsFalse (r.Contains (new Rect (-5, 5, 10, 10)));
-
- // completely outside (top)
- Assert.IsFalse (r.Contains (new Rect (5, -5, 1, 1)));
-
- // completely outside (right)
- Assert.IsFalse (r.Contains (new Rect (75, 5, 1, 1)));
-
- // completely outside (bottom)
- Assert.IsFalse (r.Contains (new Rect (5, 75, 1, 1)));
-
- // completely outside (left)
- Assert.IsFalse (r.Contains (new Rect (-25, 5, 1, 1)));
- }
-
- [Test]
- public void ContainsDoubles ()
- {
- Rect r = new Rect (0, 0, 50, 50);
-
- Assert.IsTrue (r.Contains (10, 10));
- Assert.IsFalse (r.Contains (-5, -5));
- }
-
- [Test]
- public void ContainsPoint ()
- {
- Rect r = new Rect (0, 0, 50, 50);
-
- Assert.IsTrue (r.Contains (new Point (10, 10)));
- Assert.IsFalse (r.Contains (new Point (-5, -5)));
- }
-
- [Test]
- public void Inflate ()
- {
- Rect r = Rect.Inflate (new Rect (0, 0, 20, 20), 10, 15);
- Assert.AreEqual (new Rect (-10, -15, 40, 50), r);
-
- r = Rect.Inflate (new Rect (0, 0, 20, 20), new Size (10, 15));
- Assert.AreEqual (new Rect (-10, -15, 40, 50), r);
-
- r = new Rect (0, 0, 20, 20);
- r.Inflate (10, 15);
- Assert.AreEqual (new Rect (-10, -15, 40, 50), r);
-
- r = new Rect (0, 0, 20, 20);
- r.Inflate (new Size (10, 15));
- Assert.AreEqual (new Rect (-10, -15, 40, 50), r);
- }
-
- [Test]
- public void IntersectsWith ()
- {
- Rect r = new Rect (0, 0, 50, 50);
-
- // fully contained
- Assert.IsTrue (r.IntersectsWith (new Rect (10, 10, 10, 10)));
-
- // crosses top side
- Assert.IsTrue (r.IntersectsWith (new Rect (5, -5, 10, 10)));
-
- // crosses right side
- Assert.IsTrue (r.IntersectsWith (new Rect (5, 5, 50, 10)));
-
- // crosses bottom side
- Assert.IsTrue (r.IntersectsWith (new Rect (5, 5, 10, 50)));
-
- // crosses left side
- Assert.IsTrue (r.IntersectsWith (new Rect (-5, 5, 10, 10)));
-
- // completely outside (top)
- Assert.IsFalse (r.IntersectsWith (new Rect (5, -5, 1, 1)));
-
- // completely outside (right)
- Assert.IsFalse (r.IntersectsWith (new Rect (75, 5, 1, 1)));
-
- // completely outside (bottom)
- Assert.IsFalse (r.IntersectsWith (new Rect (5, 75, 1, 1)));
-
- // completely outside (left)
- Assert.IsFalse (r.IntersectsWith (new Rect (-25, 5, 1, 1)));
- }
-
- [Test]
- public void Intersect ()
- {
- Rect r;
-
- // fully contained
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (10, 10, 10, 10));
- Assert.AreEqual (new Rect (10, 10, 10, 10), r);
-
- // crosses top side
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (5, -5, 10, 10));
- Assert.AreEqual (new Rect (5, 0, 10, 5), r);
-
- // crosses right side
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (5, 5, 50, 10));
- Assert.AreEqual (new Rect (5, 5, 45, 10), r);
-
- // crosses bottom side
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (5, 5, 10, 50));
-
- // crosses left side
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (-5, 5, 10, 10));
-
- // completely outside (top)
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (5, -5, 1, 1));
- Assert.AreEqual (Rect.Empty, r);
-
- // completely outside (right)
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (75, 5, 1, 1));
- Assert.AreEqual (Rect.Empty, r);
-
- // completely outside (bottom)
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (5, 75, 1, 1));
- Assert.AreEqual (Rect.Empty, r);
-
- // completely outside (left)
- r = new Rect (0, 0, 50, 50);
- r.Intersect (new Rect (-25, 5, 1, 1));
- Assert.AreEqual (Rect.Empty, r);
- }
-
-
- [Test]
- public void Equals_Operator ()
- {
- Rect r1 = new Rect (1, 2, 30, 30);
- Rect r2 = new Rect (1, 2, 30, 30);
-
- Assert.AreEqual (true, r1 == r2);
- Assert.AreEqual (false, r1 != r2);
-
- r2 = new Rect (10, 20, 30, 30);
-
- Assert.AreEqual (false, r1 == r2);
- Assert.AreEqual (true, r1 != r2);
-
- }
-
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class SizeConverterTest
- {
- [Test]
- public void CanConvertFrom ()
- {
- SizeConverter r = new SizeConverter ();
-
- Assert.IsTrue (r.CanConvertFrom (typeof (string)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Size)));
- }
-
- [Test]
- public void CanConvertTo ()
- {
- SizeConverter r = new SizeConverter ();
-
- Assert.IsTrue (r.CanConvertTo (typeof (string)));
- Assert.IsFalse (r.CanConvertTo (typeof (Size)));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertFrom ()
- {
- SizeConverter r = new SizeConverter ();
-
- object or = r.ConvertFrom ("3, 4");
-
- Assert.AreEqual (typeof (Size), or.GetType());
- Assert.AreEqual (new Size (3, 4), or);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertFrom_size ()
- {
- SizeConverter r = new SizeConverter ();
-
- r.ConvertFrom (new Size (10, 20));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (ArgumentException))]
- public void ConvertFrom_negative ()
- {
- SizeConverter r = new SizeConverter ();
- r.ConvertFrom ("-1, -4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertTo ()
- {
- SizeConverter r = new SizeConverter ();
-
- Size rect = new Size (1, 2);
-
- object o = r.ConvertTo (rect, typeof (string));
-
- Assert.AreEqual (typeof (string), o.GetType());
- Assert.AreEqual ("1,2", (string)o);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class SizeTest
- {
- [Test]
- public void Ctor_Accessors ()
- {
- Size s = new Size (10, 20);
- Assert.AreEqual (10, s.Width);
- Assert.AreEqual (20, s.Height);
- }
-
- [Test]
- public void Equals ()
- {
- Size s = new Size (10, 20);
-
- Assert.IsTrue (s.Equals (s));
- Assert.IsTrue (s.Equals (new Size (10, 20)));
-
- Assert.IsTrue (Size.Equals (s, s));
-
- Assert.IsFalse (s.Equals (new Size (5, 10)));
- Assert.IsFalse (Size.Equals (s, new Size (5, 10)));
-
- Assert.IsFalse (s.Equals (new object()));
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Ctor_negative_width()
- {
- new Size (-10, 5);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Ctor_negative_height()
- {
- new Size (5, -10);
- }
-
- [Test]
- public void Modify_width ()
- {
- Size s = new Size (10, 10);
- s.Width = 20;
- Assert.AreEqual (new Size (20, 10), s);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_width ()
- {
- Size s = Size.Empty;
- s.Width = 20;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Modify_negative_width ()
- {
- Size s = new Size (10, 10);
- s.Width = -20;
- }
-
- [Test]
- public void Modify_height ()
- {
- Size s = new Size (10, 10);
- s.Height = 20;
- Assert.AreEqual (new Size (10, 20), s);
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void ModifyEmpty_height ()
- {
- Size s = Size.Empty;
- s.Height = 20;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void Modify_negative_height ()
- {
- Size s = new Size (10, 10);
- s.Height = -20;
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse ()
- {
- Assert.AreEqual (new Size (1, 2), Size.Parse ("1, 2"));
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void ParseNegative ()
- {
- Assert.AreEqual (new Size (-1, 2), Size.Parse ("-1, 2"));
- }
-
- [Test]
- public void ToStringTest ()
- {
- Assert.AreEqual ("1,2", (new Size (1, 2)).ToString());
- }
-
- [Test]
- public void Empty ()
- {
- Assert.AreEqual (Double.NegativeInfinity, Size.Empty.Width);
- Assert.AreEqual (Double.NegativeInfinity, Size.Empty.Height);
- }
-
- [Test]
- public void IsEmpty ()
- {
- Assert.IsTrue (Size.Empty.IsEmpty);
- Assert.IsFalse ((new Size (10, 10)).IsEmpty);
- Assert.IsFalse ((new Size (0, 0)).IsEmpty);
- }
- }
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class VectorConverterTest
- {
- [Test]
- public void CanConvertFrom ()
- {
- VectorConverter r = new VectorConverter ();
-
- Assert.IsTrue (r.CanConvertFrom (typeof (string)));
- Assert.IsFalse (r.CanConvertFrom (typeof (Vector)));
- }
-
- [Test]
- public void CanConvertTo ()
- {
- VectorConverter r = new VectorConverter ();
-
- Assert.IsTrue (r.CanConvertTo (typeof (string)));
- Assert.IsFalse (r.CanConvertTo (typeof (Vector)));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertFrom ()
- {
- VectorConverter r = new VectorConverter ();
-
- object or = r.ConvertFrom ("3, 4");
-
- Assert.AreEqual (typeof (Vector), or.GetType());
- Assert.AreEqual (new Vector (3, 4), or);
-
- or = r.ConvertFrom ("-1, -4");
- Assert.AreEqual (typeof (Vector), or.GetType());
- Assert.AreEqual (new Vector (-1, -4), or);
- }
-
- [Test]
- [ExpectedException (typeof (NotSupportedException))]
- public void ConvertFrom_size ()
- {
- VectorConverter r = new VectorConverter ();
-
- r.ConvertFrom (new Vector (10, 20));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void ConvertTo ()
- {
- VectorConverter r = new VectorConverter ();
-
- Vector rect = new Vector (1, 2);
-
- object o = r.ConvertTo (rect, typeof (string));
-
- Assert.AreEqual (typeof (string), o.GetType());
- Assert.AreEqual ("1,2", (string)o);
- }
- }
-
-}
+++ /dev/null
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-// Copyright (c) 2007 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-// Chris Toshok (toshok@ximian.com)
-//
-
-using System;
-using System.Windows;
-using System.Windows.Media;
-using NUnit.Framework;
-
-namespace MonoTests.System.Windows {
-
- [TestFixture]
- public class VectorTest
- {
- [Test]
- public void Accessors ()
- {
- Vector v = new Vector (4, 5);
- Assert.AreEqual (4, v.X);
- Assert.AreEqual (5, v.Y);
- }
-
- [Test]
- public void Equals ()
- {
- Vector v = new Vector (4, 5);
- Assert.IsTrue (v.Equals (new Vector (4, 5)));
- Assert.IsFalse (v.Equals (new Vector (5, 4)));
- Assert.IsFalse (v.Equals (new object()));
- }
-
- [Test]
- public void ToStringTest ()
- {
- Vector v = new Vector (4, 5);
- Assert.AreEqual ("4,5", v.ToString());
- }
-
- [Test]
- [Category ("NotWorking")]
- public void Parse ()
- {
- Vector v = Vector.Parse ("4,5");
- Assert.AreEqual (new Vector (4, 5), v);
-
- v = Vector.Parse ("-4,-5");
- Assert.AreEqual (new Vector (-4, -5), v);
-
- v = Vector.Parse ("-4.4,-5.5");
- Assert.AreEqual (new Vector (-4.4, -5.5), v);
- }
-
- [Test]
- public void Add ()
- {
- Point p = Vector.Add (new Vector (2, 3), new Point (4, 5));
- Assert.AreEqual (new Point (6, 8), p);
-
- Vector v = Vector.Add (new Vector (2, 3), new Vector (4, 5));
- Assert.AreEqual (new Vector (6, 8), v);
- }
-
- [Test]
- public void Length ()
- {
- Vector v = new Vector (1, 0);
- Assert.AreEqual (1, v.LengthSquared);
- Assert.AreEqual (1, v.Length);
-
- v = new Vector (5, 5);
- Assert.AreEqual (50, v.LengthSquared);
- Assert.AreEqual (Math.Sqrt(50), v.Length);
- }
-
- [Test]
- public void AngleBetween ()
- {
- double angle = Vector.AngleBetween (new Vector (1, 0), new Vector (0, 1));
- Assert.AreEqual (90, angle);
-
- angle = Vector.AngleBetween (new Vector (1, 0), new Vector (0.5, 0.5));
- Assert.AreEqual (45, angle);
- }
-
- [Test]
- public void CrossProduct ()
- {
- Assert.AreEqual (1, Vector.CrossProduct (new Vector (1, 0), new Vector (0, 1)));
- Assert.AreEqual (50, Vector.CrossProduct (new Vector (20, 30), new Vector (45, 70)));
- }
-
- [Test]
- public void Determinant ()
- {
- Assert.AreEqual (1, Vector.Determinant (new Vector (1, 0), new Vector (0, 1)));
- Assert.AreEqual (50, Vector.Determinant (new Vector (20, 30), new Vector (45, 70)));
- }
-
- [Test]
- public void Divide ()
- {
- Assert.AreEqual (new Vector (5, 7), Vector.Divide (new Vector (10, 14), 2));
- }
-
- [Test]
- public void Multiply_VV_M ()
- {
- Assert.AreEqual (60, Vector.Multiply (new Vector (5, 7), new Vector (5, 5)));
- }
-
- [Test]
- public void Multiply_VM_V ()
- {
- Matrix m = Matrix.Identity;
- m.Rotate (45);
-
- Console.WriteLine (Vector.Multiply (new Vector (3, 4), m));
- }
-
- [Test]
- public void Multiply_dV_V ()
- {
- Assert.AreEqual (new Vector (10, 18), Vector.Multiply (2, new Vector (5, 9)));
- }
-
- [Test]
- public void Multiply_Vd_V ()
- {
- Assert.AreEqual (new Vector (10, 18), Vector.Multiply (new Vector (5, 9), 2));
- }
-
- [Test]
- public void Negate ()
- {
- Vector v = new Vector (4, 5);
- v.Negate ();
-
- Assert.AreEqual (new Vector (-4, -5), v);
- }
-
- [Test]
- public void Normalize ()
- {
- Vector v = new Vector (5, 5);
- v.Normalize ();
-
- Assert.AreEqual (v.X, v.Y);
- Assert.AreEqual (1, v.Length);
- }
-
- [Test]
- public void Subtract ()
- {
- Assert.AreEqual (new Vector (3, 4), Vector.Subtract (new Vector (5, 7), new Vector (2, 3)));
- }
- }
-}
-
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.50727</ProductVersion>
- <ProjectGuid>{F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AssemblyName>WindowsBase</AssemblyName>
- <SchemaVersion>2.0</SchemaVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug</OutputPath>
- <DefineConstants>DEBUG;NET_3_0</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>false</ConsolePause>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>none</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Release</OutputPath>
- <DefineConstants>NET_3_0</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>false</ConsolePause>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Core" />
- <Reference Include="zipsharp, Version=1.0.3223.25758, Culture=neutral" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ProjectExtensions>
- <MonoDevelop>
- <Properties>
- <GtkDesignInfo />
- <MonoDevelop.Autotools.MakefileInfo RelativeMakefileName="Makefile">
- <BuildFilesVar Sync="true" Name="LIBRARY" />
- <DeployFilesVar />
- <ResourcesVar />
- <OthersVar />
- <GacRefVar Name="TEST_MCS_FLAGS" Prefix="-r:" />
- <AsmRefVar Name="TEST_MCS_FLAGS" Prefix="-r:" />
- <ProjectRefVar Name="TEST_MCS_FLAGS" Prefix="-r:" />
- </MonoDevelop.Autotools.MakefileInfo>
- <MonoDevelop.ChangeLogAddIn.ChangeLogInfo policy="UpdateNearestChangeLog" />
- </Properties>
- </MonoDevelop>
- </ProjectExtensions>
- <ItemGroup>
- <Compile Include="Assembly\AssemblyInfo.cs" />
- <Compile Include="System.Windows.Threading\Dispatcher.cs" />
- <Compile Include="System.Windows.Threading\DispatcherEventArgs.cs" />
- <Compile Include="System.Windows.Threading\DispatcherFrame.cs" />
- <Compile Include="System.Windows.Threading\DispatcherHookEventArgs.cs" />
- <Compile Include="System.Windows.Threading\DispatcherHookEventHandler.cs" />
- <Compile Include="System.Windows.Threading\DispatcherHooks.cs" />
- <Compile Include="System.Windows.Threading\DispatcherObject.cs" />
- <Compile Include="System.Windows.Threading\DispatcherOperation.cs" />
- <Compile Include="System.Windows.Threading\DispatcherOperationCallback.cs" />
- <Compile Include="System.Windows.Threading\DispatcherOperationStatus.cs" />
- <Compile Include="System.Windows.Threading\DispatcherPriority.cs" />
- <Compile Include="System.Windows.Threading\DispatcherProcessingDisabled.cs" />
- <Compile Include="System.Windows.Threading\DispatcherSynchronizationContext.cs" />
- <Compile Include="System.Windows.Threading\DispatcherTimer.cs" />
- <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventArgs.cs" />
- <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventHandler.cs" />
- <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventArgs.cs" />
- <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventHandler.cs" />
- <Compile Include="System.Windows.Media.Converters\MatrixValueSerializer.cs" />
- <Compile Include="System.IO.Packaging\CertificateEmbeddingOption.cs" />
- <Compile Include="System.IO.Packaging\CompressionOption.cs" />
- <Compile Include="System.IO.Packaging\EncryptedPackageEnvelope.cs" />
- <Compile Include="System.IO.Packaging\EncryptionOption.cs" />
- <Compile Include="System.IO.Packaging\InvalidSignatureEventHandler.cs" />
- <Compile Include="System.IO.Packaging\Package.cs" />
- <Compile Include="System.IO.Packaging\PackageDigitalSignature.cs" />
- <Compile Include="System.IO.Packaging\PackageDigitalSignatureManager.cs" />
- <Compile Include="System.IO.Packaging\PackagePart.cs" />
- <Compile Include="System.IO.Packaging\PackagePartCollection.cs" />
- <Compile Include="System.IO.Packaging\PackageProperties.cs" />
- <Compile Include="System.IO.Packaging\PackageRelationship.cs" />
- <Compile Include="System.IO.Packaging\PackageRelationshipCollection.cs" />
- <Compile Include="System.IO.Packaging\PackageRelationshipSelector.cs" />
- <Compile Include="System.IO.Packaging\PackageRelationshipSelectorType.cs" />
- <Compile Include="System.IO.Packaging\PackUriHelper.cs" />
- <Compile Include="System.IO.Packaging\RightsManagementInformation.cs" />
- <Compile Include="System.IO.Packaging\SignatureVerificationEventArgs.cs" />
- <Compile Include="System.IO.Packaging\StorageInfo.cs" />
- <Compile Include="System.IO.Packaging\StreamInfo.cs" />
- <Compile Include="System.IO.Packaging\TargetMode.cs" />
- <Compile Include="System.IO.Packaging\VerifyResult.cs" />
- <Compile Include="System.IO.Packaging\ZipPackage.cs" />
- <Compile Include="System.IO.Packaging\ZipPackagePart.cs" />
- <Compile Include="System.IO\FileFormatException.cs" />
- <Compile Include="System.Diagnostics\PresentationTraceLevel.cs" />
- <Compile Include="System.Diagnostics\PresentationTraceSources.cs" />
- <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />
- <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />
- <Compile Include="System.Collections.Specialized\CollectionChangedEventManager.cs" />
- <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />
- <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />
- <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />
- <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />
- <Compile Include="System.ComponentModel\CurrentChangedEventManager.cs" />
- <Compile Include="System.ComponentModel\CurrentChangingEventArgs.cs" />
- <Compile Include="System.ComponentModel\CurrentChangingEventHandler.cs" />
- <Compile Include="System.ComponentModel\CurrentChangingEventManager.cs" />
- <Compile Include="System.ComponentModel\DependencyPropertyDescriptor.cs" />
- <Compile Include="System.ComponentModel\GroupDescription.cs" />
- <Compile Include="System.ComponentModel\ICollectionView.cs" />
- <Compile Include="System.ComponentModel\ICollectionViewFactory.cs" />
- <Compile Include="System.ComponentModel\PropertyChangedEventManager.cs" />
- <Compile Include="System.ComponentModel\PropertyFilterAttribute.cs" />
- <Compile Include="System.ComponentModel\PropertyFilterOptions.cs" />
- <Compile Include="System.ComponentModel\SortDescription.cs" />
- <Compile Include="System.ComponentModel\SortDescriptionCollection.cs" />
- <Compile Include="System.Security.Permissions\MediaPermission.cs" />
- <Compile Include="System.Security.Permissions\MediaPermissionAttribute.cs" />
- <Compile Include="System.Security.Permissions\MediaPermissionAudio.cs" />
- <Compile Include="System.Security.Permissions\MediaPermissionImage.cs" />
- <Compile Include="System.Security.Permissions\MediaPermissionVideo.cs" />
- <Compile Include="System.Security.Permissions\WebBrowserPermission.cs" />
- <Compile Include="System.Security.Permissions\WebBrowserPermissionAttribute.cs" />
- <Compile Include="System.Security.Permissions\WebBrowserPermissionLevel.cs" />
- <Compile Include="System.Security.RightsManagement\AuthenticationType.cs" />
- <Compile Include="System.Security.RightsManagement\ContentGrant.cs" />
- <Compile Include="System.Security.RightsManagement\ContentRight.cs" />
- <Compile Include="System.Security.RightsManagement\ContentUser.cs" />
- <Compile Include="System.Security.RightsManagement\CryptoProvider.cs" />
- <Compile Include="System.Security.RightsManagement\LocalizedNameDescriptionPair.cs" />
- <Compile Include="System.Security.RightsManagement\PublishLicense.cs" />
- <Compile Include="System.Security.RightsManagement\RightsManagementException.cs" />
- <Compile Include="System.Security.RightsManagement\RightsManagementFailureCode.cs" />
- <Compile Include="System.Security.RightsManagement\SecureEnvironment.cs" />
- <Compile Include="System.Security.RightsManagement\UnsignedPublishLicense.cs" />
- <Compile Include="System.Security.RightsManagement\UseLicense.cs" />
- <Compile Include="System.Security.RightsManagement\UserActivationMode.cs" />
- <Compile Include="System.Windows\AttachedPropertyBrowsableAttribute.cs" />
- <Compile Include="System.Windows\AttachedPropertyBrowsableForTypeAttribute.cs" />
- <Compile Include="System.Windows\AttachedPropertyBrowsableWhenAttributePresentAttribute.cs" />
- <Compile Include="System.Windows\CoerceValueCallback.cs" />
- <Compile Include="System.Windows\DependencyObject.cs" />
- <Compile Include="System.Windows\DependencyObjectType.cs" />
- <Compile Include="System.Windows\DependencyProperty.cs" />
- <Compile Include="System.Windows\DependencyPropertyChangedEventArgs.cs" />
- <Compile Include="System.Windows\DependencyPropertyChangedEventHandler.cs" />
- <Compile Include="System.Windows\DependencyPropertyKey.cs" />
- <Compile Include="System.Windows\Expression.cs" />
- <Compile Include="System.Windows\ExpressionConverter.cs" />
- <Compile Include="System.Windows\Freezable.cs" />
- <Compile Include="System.Windows\Int32Rect.cs" />
- <Compile Include="System.Windows\Int32RectConverter.cs" />
- <Compile Include="System.Windows\IWeakEventListener.cs" />
- <Compile Include="System.Windows\LocalValueEntry.cs" />
- <Compile Include="System.Windows\LocalValueEnumerator.cs" />
- <Compile Include="System.Windows\Point.cs" />
- <Compile Include="System.Windows\PointConverter.cs" />
- <Compile Include="System.Windows\PropertyChangedCallback.cs" />
- <Compile Include="System.Windows\PropertyMetadata.cs" />
- <Compile Include="System.Windows\Rect.cs" />
- <Compile Include="System.Windows\RectConverter.cs" />
- <Compile Include="System.Windows\Size.cs" />
- <Compile Include="System.Windows\SizeConverter.cs" />
- <Compile Include="System.Windows\ValidateValueCallback.cs" />
- <Compile Include="System.Windows\Vector.cs" />
- <Compile Include="System.Windows\VectorConverter.cs" />
- <Compile Include="System.Windows\WeakEventManager.cs" />
- <Compile Include="System.Windows.Converters\Int32RectValueSerializer.cs" />
- <Compile Include="System.Windows.Converters\PointValueSerializer.cs" />
- <Compile Include="System.Windows.Converters\RectValueSerializer.cs" />
- <Compile Include="System.Windows.Converters\SizeValueSerializer.cs" />
- <Compile Include="System.Windows.Converters\VectorValueSerializer.cs" />
- <Compile Include="System.Windows.Data\DataSourceProvider.cs" />
- <Compile Include="System.Windows.Input\FocusNavigationDirection.cs" />
- <Compile Include="System.Windows.Input\Key.cs" />
- <Compile Include="System.Windows.Input\KeyConverter.cs" />
- <Compile Include="System.Windows.Input\KeyInterop.cs" />
- <Compile Include="System.Windows.Input\KeyValueSerializer.cs" />
- <Compile Include="System.Windows.Input\ModifierKeys.cs" />
- <Compile Include="System.Windows.Input\ModifierKeysConverter.cs" />
- <Compile Include="System.Windows.Input\ModifierKeysValueSerializer.cs" />
- <Compile Include="System.Windows.Input\TraversalRequest.cs" />
- <Compile Include="System.Windows.Interop\ComponentDispatcher.cs" />
- <Compile Include="System.Windows.Interop\IKeyboardInputSink.cs" />
- <Compile Include="System.Windows.Interop\IKeyboardInputSite.cs" />
- <Compile Include="System.Windows.Interop\MSG.cs" />
- <Compile Include="System.Windows.Interop\ThreadMessageEventHandler.cs" />
- <Compile Include="System.Windows.Markup\ConstructorArgumentAttribute.cs" />
- <Compile Include="System.Windows.Markup\ContentPropertyAttribute.cs" />
- <Compile Include="System.Windows.Markup\ContentWrapperAttribute.cs" />
- <Compile Include="System.Windows.Markup\DateTimeValueSerializer.cs" />
- <Compile Include="System.Windows.Markup\DependsOnAttribute.cs" />
- <Compile Include="System.Windows.Markup\DesignerSerializationOptions.cs" />
- <Compile Include="System.Windows.Markup\DesignerSerializationOptionsAttribute.cs" />
- <Compile Include="System.Windows.Markup\IComponentConnector.cs" />
- <Compile Include="System.Windows.Markup\INameScope.cs" />
- <Compile Include="System.Windows.Markup\InternalTypeHelper.cs" />
- <Compile Include="System.Windows.Markup\IValueSerializerContext.cs" />
- <Compile Include="System.Windows.Markup\IXamlTypeResolver.cs" />
- <Compile Include="System.Windows.Markup\MarkupExtension.cs" />
- <Compile Include="System.Windows.Markup\MarkupExtensionReturnTypeAttribute.cs" />
- <Compile Include="System.Windows.Markup\RootNamespaceAttribute.cs" />
- <Compile Include="System.Windows.Markup\RuntimeNamePropertyAttribute.cs" />
- <Compile Include="System.Windows.Markup\ServiceProviders.cs" />
- <Compile Include="System.Windows.Markup\TrimSurroundingWhitespaceAttribute.cs" />
- <Compile Include="System.Windows.Markup\ValueSerializer.cs" />
- <Compile Include="System.Windows.Markup\ValueSerializerAttribute.cs" />
- <Compile Include="System.Windows.Markup\WhitespaceSignificantCollectionAttribute.cs" />
- <Compile Include="System.Windows.Markup\XmlLangPropertyAttribute.cs" />
- <Compile Include="System.Windows.Markup\XmlnsCompatibleWithAttribute.cs" />
- <Compile Include="System.Windows.Markup\XmlnsDefinitionAttribute.cs" />
- <Compile Include="System.Windows.Markup\XmlnsPrefixAttribute.cs" />
- <Compile Include="System.Windows.Markup.Primitives\MarkupObject.cs" />
- <Compile Include="System.Windows.Markup.Primitives\MarkupProperty.cs" />
- <Compile Include="System.Windows.Media\DisableDpiAwarenessAttribute.cs" />
- <Compile Include="System.Windows.Media\Matrix.cs" />
- <Compile Include="System.Windows.Media\MatrixConverter.cs" />
- <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />
- <Compile Include="..\..\build\common\Consts.cs" />
- <Compile Include="Test\System.IO.Packaging\FakePackage.cs" />
- <Compile Include="Test\System.IO.Packaging\FakeStream.cs" />
- <Compile Include="Test\System.IO.Packaging\PackagePartTest.cs" />
- <Compile Include="Test\System.IO.Packaging\PackageRelationshipTests.cs" />
- <Compile Include="Test\System.IO.Packaging\PackageTest.cs" />
- <Compile Include="Test\System.IO.Packaging\TestBase.cs" />
- <Compile Include="System.IO.Packaging\Check.cs" />
- <Compile Include="Test\System.IO.Packaging\FakePackagePart.cs" />
- <Compile Include="Test\System.IO.Packaging\FakePackagePartTests.cs" />
- <Compile Include="Test\System.IO.Packaging\FakePackageTests.cs" />
- <Compile Include="Test\System.IO.Packaging\PackagePartStreamTests.cs" />
- <Compile Include="System.IO.Packaging\ZipPartStream.cs" />
- <Compile Include="Test\System.Collections.ObjectModel\ObservableCollectionTest.cs" />
- <Compile Include="Test\System.Windows\DependencyObjectTest.cs" />
- <Compile Include="Test\System.Windows\DependencyObjectTypeTest.cs" />
- <Compile Include="Test\System.Windows\DependencyPropertyTest.cs" />
- <Compile Include="Test\System.Windows\FreezableTest.cs" />
- <Compile Include="Test\System.Windows\Int32RectConverterTest.cs" />
- <Compile Include="Test\System.Windows\Int32RectTest.cs" />
- <Compile Include="Test\System.Windows\PointConverterTest.cs" />
- <Compile Include="Test\System.Windows\PointTest.cs" />
- <Compile Include="Test\System.Windows\PropertyMetadataTest.cs" />
- <Compile Include="Test\System.Windows\RectConverterTest.cs" />
- <Compile Include="Test\System.Windows\RectTest.cs" />
- <Compile Include="Test\System.Windows\SizeConverterTest.cs" />
- <Compile Include="Test\System.Windows\SizeTest.cs" />
- <Compile Include="Test\System.Windows\VectorConverterTest.cs" />
- <Compile Include="Test\System.Windows\VectorTest.cs" />
- <Compile Include="ZipSharp\IOFunctions.cs" />
- <Compile Include="ZipSharp\NativeUnzip.cs" />
- <Compile Include="ZipSharp\NativeZip.cs" />
- <Compile Include="ZipSharp\UnzipArchive.cs" />
- <Compile Include="ZipSharp\UnzipFileInfo.cs" />
- <Compile Include="ZipSharp\UnzipHandle.cs" />
- <Compile Include="ZipSharp\UnzipReadStream.cs" />
- <Compile Include="ZipSharp\ZipArchive.cs" />
- <Compile Include="ZipSharp\ZipFileInfo.cs" />
- <Compile Include="ZipSharp\ZipHandle.cs" />
- <Compile Include="ZipSharp\ZipStream.cs" />
- <Compile Include="ZipSharp\ZipTime.cs" />
- <Compile Include="ZipSharp\ZipWriteStream.cs" />
- <Compile Include="System.IO.Packaging\PackagePropertiesPart.cs" />
- <Compile Include="Test\System.Collections.Specialized\CollectionChangedEventValidators.cs" />
- <Compile Include="Test\System.Collections.Specialized\NotifyCollectionChangedEventArgsTest.cs" />
- <Compile Include="Test\System.Collections.ObjectModel\ReadOnlyObservableCollectionTest.cs" />
- <Compile Include="Test\System.Windows.Markup\ConstructorArgumentAttributeTest.cs" />
- <Compile Include="Test\System.Windows.Markup\ContentPropertyAttributeTest.cs" />
- <Compile Include="Test\System.Windows.Markup\ContentWrapperAttributeTest.cs" />
- <Compile Include="Test\System.Windows.Markup\DateTimeValueSerializerTest.cs" />
- <Compile Include="Test\System.Windows.Markup\DependsOnAttributeTest.cs" />
- <Compile Include="Test\System.Windows.Markup\MarkupExtensionReturnTypeAttributeTest.cs" />
- <Compile Include="Test\System.Windows.Markup\ValueSerializerTest.cs" />
- </ItemGroup>
-</Project>
\ No newline at end of file
+++ /dev/null
-System.Collections.ObjectModel/ObservableCollection.cs
-System.Collections.ObjectModel/ReadOnlyObservableCollection.cs
-System.Collections.Specialized/CollectionChangedEventManager.cs
-System.Collections.Specialized/INotifyCollectionChanged.cs
-System.Collections.Specialized/NotifyCollectionChangedAction.cs
-System.Collections.Specialized/NotifyCollectionChangedEventArgs.cs
-System.Collections.Specialized/NotifyCollectionChangedEventHandler.cs
-System.ComponentModel/CurrentChangedEventManager.cs
-System.ComponentModel/CurrentChangingEventArgs.cs
-System.ComponentModel/CurrentChangingEventManager.cs
-System.ComponentModel/CurrentChangingEventHandler.cs
-System.ComponentModel/DependencyPropertyDescriptor.cs
-System.ComponentModel/GroupDescription.cs
-System.ComponentModel/ICollectionView.cs
-System.ComponentModel/ICollectionViewFactory.cs
-System.ComponentModel/PropertyChangedEventManager.cs
-System.ComponentModel/PropertyFilterAttribute.cs
-System.ComponentModel/PropertyFilterOptions.cs
-System.ComponentModel/SortDescription.cs
-System.ComponentModel/SortDescriptionCollection.cs
-System.Diagnostics/PresentationTraceLevel.cs
-System.Diagnostics/PresentationTraceSources.cs
-System.IO/FileFormatException.cs
-System.IO.Packaging/CertificateEmbeddingOption.cs
-System.IO.Packaging/CompressionOption.cs
-System.IO.Packaging/Check.cs
-System.IO.Packaging/EncryptedPackageEnvelope.cs
-System.IO.Packaging/EncryptionOption.cs
-System.IO.Packaging/InvalidSignatureEventHandler.cs
-System.IO.Packaging/PackUriHelper.cs
-System.IO.Packaging/Package.cs
-System.IO.Packaging/PackageDigitalSignature.cs
-System.IO.Packaging/PackageDigitalSignatureManager.cs
-System.IO.Packaging/PackagePart.cs
-System.IO.Packaging/PackagePartCollection.cs
-System.IO.Packaging/PackageProperties.cs
-System.IO.Packaging/PackagePropertiesPart.cs
-System.IO.Packaging/PackageRelationship.cs
-System.IO.Packaging/PackageRelationshipCollection.cs
-System.IO.Packaging/PackageRelationshipSelector.cs
-System.IO.Packaging/PackageRelationshipSelectorType.cs
-System.IO.Packaging/PackUriParser.cs
-System.IO.Packaging/RightsManagementInformation.cs
-System.IO.Packaging/SignatureVerificationEventArgs.cs
-System.IO.Packaging/StorageInfo.cs
-System.IO.Packaging/StreamInfo.cs
-System.IO.Packaging/TargetMode.cs
-System.IO.Packaging/VerifyResult.cs
-System.IO.Packaging/ZipPackage.cs
-System.IO.Packaging/ZipPackagePart.cs
-System.IO.Packaging/ZipPartStream.cs
-System.Security.Permissions/MediaPermission.cs
-System.Security.Permissions/MediaPermissionAttribute.cs
-System.Security.Permissions/MediaPermissionAudio.cs
-System.Security.Permissions/MediaPermissionImage.cs
-System.Security.Permissions/MediaPermissionVideo.cs
-System.Security.Permissions/WebBrowserPermission.cs
-System.Security.Permissions/WebBrowserPermissionAttribute.cs
-System.Security.Permissions/WebBrowserPermissionLevel.cs
-System.Security.RightsManagement/AuthenticationType.cs
-System.Security.RightsManagement/ContentGrant.cs
-System.Security.RightsManagement/ContentRight.cs
-System.Security.RightsManagement/ContentUser.cs
-System.Security.RightsManagement/CryptoProvider.cs
-System.Security.RightsManagement/LocalizedNameDescriptionPair.cs
-System.Security.RightsManagement/PublishLicense.cs
-System.Security.RightsManagement/RightsManagementException.cs
-System.Security.RightsManagement/RightsManagementFailureCode.cs
-System.Security.RightsManagement/SecureEnvironment.cs
-System.Security.RightsManagement/UnsignedPublishLicense.cs
-System.Security.RightsManagement/UseLicense.cs
-System.Security.RightsManagement/UserActivationMode.cs
-System.Windows/AttachedPropertyBrowsableAttribute.cs
-System.Windows/AttachedPropertyBrowsableForTypeAttribute.cs
-System.Windows/AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
-System.Windows/CoerceValueCallback.cs
-System.Windows/DependencyObject.cs
-System.Windows/DependencyObjectType.cs
-System.Windows/DependencyProperty.cs
-System.Windows/DependencyPropertyChangedEventArgs.cs
-System.Windows/DependencyPropertyChangedEventHandler.cs
-System.Windows/DependencyPropertyKey.cs
-System.Windows/Expression.cs
-System.Windows/ExpressionConverter.cs
-System.Windows/Freezable.cs
-System.Windows/Int32Rect.cs
-System.Windows/Int32RectConverter.cs
-System.Windows/IWeakEventListener.cs
-System.Windows/LocalValueEntry.cs
-System.Windows/LocalValueEnumerator.cs
-System.Windows/Point.cs
-System.Windows/PointConverter.cs
-System.Windows/PropertyChangedCallback.cs
-System.Windows/PropertyMetadata.cs
-System.Windows/Rect.cs
-System.Windows/RectConverter.cs
-System.Windows/Size.cs
-System.Windows/SizeConverter.cs
-System.Windows/ValidateValueCallback.cs
-System.Windows/Vector.cs
-System.Windows/VectorConverter.cs
-System.Windows/WeakEventManager.cs
-System.Windows.Converters/Int32RectValueSerializer.cs
-System.Windows.Converters/PointValueSerializer.cs
-System.Windows.Converters/RectValueSerializer.cs
-System.Windows.Converters/SizeValueSerializer.cs
-System.Windows.Converters/VectorValueSerializer.cs
-System.Windows.Data/DataSourceProvider.cs
-System.Windows.Input/Key.cs
-System.Windows.Input/KeyConverter.cs
-System.Windows.Input/KeyValueSerializer.cs
-System.Windows.Input/KeyInterop.cs
-System.Windows.Input/FocusNavigationDirection.cs
-System.Windows.Input/ModifierKeys.cs
-System.Windows.Input/ModifierKeysConverter.cs
-System.Windows.Input/ModifierKeysValueSerializer.cs
-System.Windows.Input/TraversalRequest.cs
-System.Windows.Interop/ComponentDispatcher.cs
-System.Windows.Interop/IKeyboardInputSink.cs
-System.Windows.Interop/IKeyboardInputSite.cs
-System.Windows.Interop/MSG.cs
-System.Windows.Interop/ThreadMessageEventHandler.cs
-System.Windows.Markup/ContentPropertyAttribute.cs
-System.Windows.Markup/ContentWrapperAttribute.cs
-System.Windows.Markup/ConstructorArgumentAttribute.cs
-System.Windows.Markup/DateTimeValueSerializer.cs
-System.Windows.Markup/DependsOnAttribute.cs
-System.Windows.Markup/DesignerSerializationOptions.cs
-System.Windows.Markup/DesignerSerializationOptionsAttribute.cs
-System.Windows.Markup/IComponentConnector.cs
-System.Windows.Markup/INameScope.cs
-System.Windows.Markup/IValueSerializerContext.cs
-System.Windows.Markup/IXamlTypeResolver.cs
-System.Windows.Markup/InternalTypeHelper.cs
-System.Windows.Markup/MarkupExtension.cs
-System.Windows.Markup/MarkupExtensionReturnTypeAttribute.cs
-System.Windows.Markup/RootNamespaceAttribute.cs
-System.Windows.Markup/RuntimeNamePropertyAttribute.cs
-System.Windows.Markup/ServiceProviders.cs
-System.Windows.Markup/TrimSurroundingWhitespaceAttribute.cs
-System.Windows.Markup/ValueSerializer.cs
-System.Windows.Markup/ValueSerializerAttribute.cs
-System.Windows.Markup/WhitespaceSignificantCollectionAttribute.cs
-System.Windows.Markup/XmlLangPropertyAttribute.cs
-System.Windows.Markup/XmlnsCompatibleWithAttribute.cs
-System.Windows.Markup/XmlnsDefinitionAttribute.cs
-System.Windows.Markup/XmlnsPrefixAttribute.cs
-System.Windows.Markup.Primitives/MarkupObject.cs
-System.Windows.Markup.Primitives/MarkupProperty.cs
-System.Windows.Media/DisableDpiAwarenessAttribute.cs
-System.Windows.Media/Matrix.cs
-System.Windows.Media/MatrixConverter.cs
-System.Windows.Media.Converters/MatrixValueSerializer.cs
-System.Windows.Threading/Dispatcher.cs
-System.Windows.Threading/DispatcherEventArgs.cs
-System.Windows.Threading/DispatcherFrame.cs
-System.Windows.Threading/DispatcherHookEventArgs.cs
-System.Windows.Threading/DispatcherHookEventHandler.cs
-System.Windows.Threading/DispatcherHooks.cs
-System.Windows.Threading/DispatcherObject.cs
-System.Windows.Threading/DispatcherOperation.cs
-System.Windows.Threading/DispatcherOperationCallback.cs
-System.Windows.Threading/DispatcherOperationStatus.cs
-System.Windows.Threading/DispatcherPriority.cs
-System.Windows.Threading/DispatcherProcessingDisabled.cs
-System.Windows.Threading/DispatcherSynchronizationContext.cs
-System.Windows.Threading/DispatcherTimer.cs
-System.Windows.Threading/DispatcherUnhandledExceptionEventArgs.cs
-System.Windows.Threading/DispatcherUnhandledExceptionEventHandler.cs
-System.Windows.Threading/DispatcherUnhandledExceptionFilterEventArgs.cs
-System.Windows.Threading/DispatcherUnhandledExceptionFilterEventHandler.cs
-ZipSharp/IOFunctions.cs
-ZipSharp/ZipArchive.cs
-ZipSharp/UnzipArchive.cs
-ZipSharp/NativeUnzip.cs
-ZipSharp/UnzipFileInfo.cs
-ZipSharp/UnzipReadStream.cs
-ZipSharp/ZipHandle.cs
-ZipSharp/UnzipHandle.cs
-ZipSharp/ZipStream.cs
-ZipSharp/ZipFileInfo.cs
-ZipSharp/NativeZip.cs
-ZipSharp/ZipTime.cs
-ZipSharp/ZipWriteStream.cs
-../../build/common/MonoTODOAttribute.cs
-Assembly/AssemblyInfo.cs
-../../build/common/Consts.cs
+++ /dev/null
-\r
-Microsoft Visual Studio Solution File, Format Version 9.00\r
-# Visual Studio 2005\r
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsBase", "WindowsBase.csproj", "{F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}"\r
-EndProject\r
-Global\r
- GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
- Debug|Any CPU = Debug|Any CPU\r
- Release|Any CPU = Release|Any CPU\r
- EndGlobalSection\r
- GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
- {F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
- {F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
- {F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
- {F6D9C4EA-ABFE-4596-81A0-89E9D5A2D567}.Release|Any CPU.Build.0 = Release|Any CPU\r
- EndGlobalSection\r
- GlobalSection(MonoDevelopProperties) = preSolution\r
- name = WindowsBase\r
- StartupItem = WindowsBase.csproj\r
- EndGlobalSection\r
-EndGlobal\r
+++ /dev/null
-System.Collections.ObjectModel/ObservableCollectionTest.cs
-System.Collections.ObjectModel/ReadOnlyObservableCollectionTest.cs
-System.Collections.Specialized/NotifyCollectionChangedEventArgsTest.cs
-System.Collections.Specialized/CollectionChangedEventValidators.cs
-System.IO.Packaging/FakePackage.cs
-System.IO.Packaging/FakePackagePart.cs
-System.IO.Packaging/FakePackagePartTests.cs
-System.IO.Packaging/FakePackageTests.cs
-System.IO.Packaging/FakeStream.cs
-System.IO.Packaging/PackagePartStreamTests.cs
-System.IO.Packaging/PackagePartTest.cs
-System.IO.Packaging/PackageRelationshipTests.cs
-System.IO.Packaging/PackageTest.cs
-System.IO.Packaging/PackUriHelperTests.cs
-System.IO.Packaging/TestBase.cs
-System.Windows/DependencyObjectTest.cs
-System.Windows/DependencyObjectTypeTest.cs
-System.Windows/DependencyPropertyTest.cs
-System.Windows/Int32RectTest.cs
-System.Windows/Int32RectConverterTest.cs
-System.Windows/PointTest.cs
-System.Windows/PointConverterTest.cs
-System.Windows/PropertyMetadataTest.cs
-System.Windows/RectTest.cs
-System.Windows/RectConverterTest.cs
-System.Windows/SizeTest.cs
-System.Windows/SizeConverterTest.cs
-System.Windows/VectorTest.cs
-System.Windows/VectorConverterTest.cs
-System.Windows.Markup/ConstructorArgumentAttributeTest.cs
-System.Windows.Markup/ContentPropertyAttributeTest.cs
-System.Windows.Markup/ContentWrapperAttributeTest.cs
-System.Windows.Markup/DateTimeValueSerializerTest.cs
-System.Windows.Markup/DependsOnAttributeTest.cs
-System.Windows.Markup/MarkupExtensionReturnTypeAttributeTest.cs
-System.Windows.Markup/ValueSerializerTest.cs
-System.Windows.Media/MatrixTest.cs
-System.Windows.Threading/DispatcherTest.cs
+++ /dev/null
-// IOFunctions.cs created with MonoDevelop
-// User: alan at 14:43 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- // this matches a native 'enum', don't modify
- enum Append
- {
- Create = 0,
- CreateAfter = 1,
- AddInZip = 2
- }
-
- internal delegate IntPtr OpenFileFunc (IntPtr opaque, string filename, int mode);
-
- internal delegate /* ulong */ IntPtr ReadFileFunc (IntPtr opaque, IntPtr stream, IntPtr buffer, /* ulong */ IntPtr size);
- internal delegate /* ulong */ IntPtr WriteFileFunc (IntPtr opaque, IntPtr stream, IntPtr buffer, /* ulong */ IntPtr size);
-
- internal delegate /* long */ IntPtr TellFileFunc (IntPtr opaque, IntPtr stream);
- internal delegate /* long */ IntPtr SeekFileFunc (IntPtr opaque, IntPtr stream, /* ulong */ IntPtr offset, int origin);
-
- internal delegate int CloseFileFunc (IntPtr opaque, IntPtr stream);
- internal delegate int TestErrorFileFunc (IntPtr opaque, IntPtr stream);
-
- [StructLayout (LayoutKind.Sequential)]
- internal struct ZlibFileFuncDef
- {
- [MarshalAs (UnmanagedType.FunctionPtr)] public OpenFileFunc zopen_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public ReadFileFunc zread_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public WriteFileFunc zwrite_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public TellFileFunc ztell_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public SeekFileFunc zseek_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public CloseFileFunc zclose_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public TestErrorFileFunc zerror_file;
- [MarshalAs (UnmanagedType.FunctionPtr)] public IntPtr opaque;
- }
-}
+++ /dev/null
-// NativeUnzip.cs created with MonoDevelop
-// User: alan at 13:11 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace zipsharp
-{
- static class NativeUnzip
- {
- enum ZipStringComparison
- {
- OSDefault = 0,
- CaseSensitive = 1,
- CaseInsensitive = 2
- }
-
- public static void CloseArchive (UnzipHandle handle)
- {
- unzClose (handle);
- handle.SetHandleAsInvalid ();
- }
-
- public static void CloseCurrentFile (UnzipHandle handle)
- {
- if (unzCloseCurrentFile (handle) != 0)
- throw new Exception ("Could not close the active file");
- }
-
- public static long CurrentFilePosition (UnzipHandle handle)
- {
- return unztell(handle).ToInt64 ();
- }
-
- public static long CurrentFileLength (UnzipHandle handle)
- {
- UnzipFileInfo info;
- StringBuilder sbName = new StringBuilder (128);
- int result = unzGetCurrentFileInfo (handle, out info, sbName, new IntPtr (sbName.Capacity), IntPtr.Zero, IntPtr.Zero, null, IntPtr.Zero);
-
- if (result != 0)
- return -1;
- else
- return (long)info.UncompressedSize;
- }
-
- static string GetCurrentFileName (UnzipHandle handle)
- {
- UnzipFileInfo info;
- StringBuilder sbName = new StringBuilder (128);
- int result = unzGetCurrentFileInfo (handle, out info, sbName, new IntPtr (sbName.Capacity), IntPtr.Zero, new IntPtr (0), null, IntPtr.Zero);
-
- if (result != 0)
- return null;
- else
- return sbName.ToString ();
- }
-
- public static string[] GetFiles (UnzipHandle handle)
- {
- List<string> files = new List<string> ();
-
- GoToFirstFile (handle);
-
- string name;
- while ((name = GetCurrentFileName(handle)) != null)
- {
- files.Add (name);
- if (!NativeUnzip.GoToNextFile (handle))
- break;
- }
-
- return files.ToArray ();
- }
-
- static void GoToFirstFile (UnzipHandle handle)
- {
- if (NativeUnzip.unzGoToFirstFile (handle) != 0)
- throw new Exception ("Zip file is invalid");
- }
-
- static bool GoToNextFile (UnzipHandle handle)
- {
- return unzGoToNextFile(handle) == 0;
- }
-
- public static UnzipHandle OpenArchive (ZlibFileFuncDef fileFuncs)
- {
- UnzipHandle handle = unzOpen2 ("", ref fileFuncs);
- if (handle.IsInvalid)
- throw new Exception ("Could not open unzip archive");
- return handle;
- }
-
- public static void OpenFile (UnzipHandle handle, string name)
- {
- if (unzLocateFile (handle, name, (int) ZipStringComparison.CaseInsensitive) != 0)
- throw new Exception ("The file doesn't exist");
- if (unzOpenCurrentFile (handle) != 0)
- throw new Exception ("The file could not be opened");
- }
-
- public static unsafe int Read (UnzipHandle handle, byte[] buffer, int offset, int count)
- {
- if ((buffer.Length - offset) > count)
- throw new ArgumentOutOfRangeException ("count", "Buffer is too small to read that amount of data");
-
- fixed (byte * b = &buffer[offset])
- return unzReadCurrentFile (handle, b, (uint)count);
- }
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzCloseCurrentFile (UnzipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern IntPtr unztell (UnzipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzGoToFirstFile (UnzipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern UnzipHandle unzOpen2 (string path,
- ref ZlibFileFuncDef pzlib_filefunc_def);
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzGoToNextFile (UnzipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzLocateFile (UnzipHandle handle,
- string szFileName,
- int iCaseSensitivity);
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzOpenCurrentFile (UnzipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzGetCurrentFileInfo (UnzipHandle handle,
- out UnzipFileInfo pfile_info,
- StringBuilder szFileName,
- IntPtr fileNameBufferSize, // uLong
- IntPtr extraField, // void *
- IntPtr extraFieldBufferSize, // uLong
- StringBuilder szComment,
- IntPtr commentBufferSize); // uLong
-
- [DllImport ("MonoPosixHelper")]
- static unsafe extern int unzReadCurrentFile (UnzipHandle handle,
- byte* buf, // voidp
- uint len);
-
- //[DllImport ("MonoPosixHelper")]
- //static extern int unzSetOffset (UnzipHandle handle, IntPtr pos); // uLong
-
- [DllImport ("MonoPosixHelper")]
- static extern int unzClose (UnzipHandle handle);
- }
-}
+++ /dev/null
-// Native.cs created with MonoDevelop
-// User: alan at 12:18 13/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- static class NativeZip
- {
- const int DEFAULT_COMPRESSION = 0;
- const int Z_DEFLATED = 8;
-
- public static void CloseArchive (ZipHandle handle)
- {
- CloseArchive (handle, null);
- }
-
- public static void CloseArchive (ZipHandle handle, string comment)
- {
- zipClose (handle, comment);
- handle.SetHandleAsInvalid ();
- }
-
- public static void CloseFile (ZipHandle handle)
- {
- zipCloseFileInZip (handle);
- }
-
- public static ZipHandle OpenArchive (ZlibFileFuncDef funcDef, Append append)
- {
- ZipHandle h = zipOpen2 ("", (int) append, IntPtr.Zero, ref funcDef);
- if (h.IsInvalid)
- throw new Exception ("Could not open the zip archive");
- return h;
- }
-
- public static int OpenFile (ZipHandle handle, string filename)
- {
- return OpenFile (handle, filename, DEFAULT_COMPRESSION);
- }
-
- public static int OpenFile (ZipHandle handle, string filename, int compressionLevel)
- {
- ZipFileInfo fileInfo = new ZipFileInfo (DateTime.Now);
- int method = compressionLevel == 0 ? 0 : Z_DEFLATED;
- return zipOpenNewFileInZip (handle, filename, ref fileInfo, IntPtr.Zero, 0, IntPtr.Zero, 0, "", method, compressionLevel);
- }
-
- public static unsafe void Write (ZipHandle handle, byte[] buffer, int offset, uint count)
- {
- fixed (byte* b = &buffer[offset])
- zipWriteInFileInZip (handle, b, count);
- }
-
- [DllImport ("MonoPosixHelper")]
- static extern unsafe int zipWriteInFileInZip (ZipHandle handle,\r
- byte* buffer,\r
- uint len);
-
- [DllImport ("MonoPosixHelper")]
- static extern int zipCloseFileInZip (ZipHandle handle);
-
- [DllImport ("MonoPosixHelper")]
- static extern ZipHandle zipOpen2 (string pathname,
- int append,
- IntPtr globalcomment, // zipcharpc*
- ref ZlibFileFuncDef pzlib_filefunc_def); // zlib_filefunc_def*
-
-
- [DllImport ("MonoPosixHelper")]
- static extern int zipClose (ZipHandle handle, string globalComment);
-
- [DllImport ("MonoPosixHelper")]
- static extern int zipOpenNewFileInZip (ZipHandle handle,
- string filename,
- ref ZipFileInfo zipfi,
- IntPtr extrafield_local,
- uint size_extrafield_local,
- IntPtr extrafield_global,
- uint size_extrafield_global,
- string comment,
- int method,
- int level);
- }
-}
+++ /dev/null
-// UnzipArchive.cs
-//
-// Copyright (c) 2008 [copyright holders]
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-//
-
-using System;
-using System.IO;
-
-namespace zipsharp
-{
- class UnzipArchive : IDisposable
- {
- string[] files;
-
- internal bool FileActive {
- get; set;
- }
-
- string[] Files {
- get {
- if (files == null)
- files = NativeUnzip.GetFiles (Handle);
- return files;
- }
- }
-
- internal UnzipHandle Handle {
- get; private set;
- }
-
- ZipStream Stream {
- get; set;
- }
-
- public UnzipArchive (string filename)
- : this (File.Open (filename, FileMode.Open), true)
- {
-
- }
-
- public UnzipArchive (Stream stream)
- : this (stream, false)
- {
-
- }
-
- public UnzipArchive (Stream stream, bool ownsStream)
- {
- Stream = new ZipStream (stream, ownsStream);
- Handle = NativeUnzip.OpenArchive (Stream.IOFunctions);
- }
-
- public void Dispose ()
- {
- NativeUnzip.CloseArchive (Handle);
- Stream.Close ();
- }
-
- public string[] GetFiles ()
- {
- return (string []) Files.Clone ();
- }
-
- public Stream GetStream (string name)
- {
- foreach (string file in Files)
- {
- if (name.Equals(file, StringComparison.OrdinalIgnoreCase))
- {
- NativeUnzip.OpenFile (Handle, name);
- return new UnzipReadStream (this);
- }
- }
-
- throw new Exception ("The file doesn't exist in the zip archive");
- }
- }
-}
+++ /dev/null
-// FileInfo.cs created with MonoDevelop
-// User: alan at 14:47 13/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- [StructLayout (LayoutKind.Sequential)]
- struct UnzipFileInfo
- {\r
- IntPtr version; /* version made by 2 bytes */\r
- IntPtr version_needed; /* version needed to extract 2 bytes */\r
- IntPtr flag; /* general purpose bit flag 2 bytes */\r
- IntPtr compression_method; /* compression method 2 bytes */\r
- IntPtr dosDate; /* last mod file date in Dos fmt 4 bytes */\r
- IntPtr crc; /* crc-32 4 bytes */\r
- IntPtr compressed_size; /* compressed size 4 bytes */\r
- IntPtr uncompressed_size; /* uncompressed size 4 bytes */\r
- IntPtr size_filename; /* filename length 2 bytes */\r
- IntPtr size_file_extra; /* extra field length 2 bytes */\r
- IntPtr size_file_comment; /* file comment length 2 bytes */\r
- \r
- IntPtr disk_num_start; /* disk number start 2 bytes */\r
- IntPtr internal_fa; /* internal file attributes 2 bytes */\r
- IntPtr external_fa; /* external file attributes 4 bytes */\r
- \r
- ZipTime tmu_date;
-
- public ulong VersionNeeded {
- get { return (ulong)version_needed.ToInt64 (); }
- set { version_needed = new IntPtr ((int)value); }
- }
-
- public ulong Version {
- get { return (ulong)version.ToInt64 (); }
- set { version = new IntPtr ((int)value); }
- }
-
- public ulong UncompressedSize {
- get { return (ulong)uncompressed_size.ToInt64 (); }
- set { uncompressed_size = new IntPtr ((int)value); }
- }
-
- public ZipTime TmuDate {
- get { return tmu_date; }
- set { tmu_date = value; }
- }
-
- public ulong SizeFilename {
- get { return (ulong)size_filename.ToInt64 (); }
- set { size_filename = new IntPtr ((int)value); }
- }
-
- public ulong SizeFileExtra {
- get { return (ulong)size_file_extra.ToInt64 (); }
- set { size_file_extra = new IntPtr ((int)value); }
- }
-
- public ulong SizeFileComment {
- get {
- return (ulong)size_file_comment.ToInt64 ();
- }
- set {
- size_file_comment = new IntPtr ((int)value);
- }
- }
-
- public ulong InternalFa {
- get { return (ulong)internal_fa.ToInt64 (); }
- set { internal_fa = new IntPtr ((int)value); }
- }
-
- public ulong Flag {
- get { return (ulong)flag.ToInt64 (); }
- set { flag = new IntPtr ((int)value); }
- }
-
- public ulong ExternalFa {
- get { return (ulong)external_fa.ToInt64 (); }
- set { external_fa = new IntPtr ((int)value); }
- }
-
- public ulong DosDate {
- get { return (ulong)dosDate.ToInt64 (); }
- set { dosDate = new IntPtr ((int)value); }
- }
-
- public ulong DiskNumStart {
- get { return (ulong)disk_num_start.ToInt64 (); }
- set { disk_num_start = new IntPtr ((int)value); }
- }
-
- public ulong Crc {
- get { return (ulong)crc.ToInt64 (); }
- set { crc = new IntPtr ((int)value); }
- }
-
- public ulong CompressionMethod {
- get { return (ulong)compression_method.ToInt64 (); }
- set { compression_method = new IntPtr ((int)value); }
- }
-
- public ulong CompressedSize {
- get { return (ulong)compressed_size.ToInt64 (); }
- set { compressed_size = new IntPtr ((int)value); }
- }
- }
-}
+++ /dev/null
-// UnzipArchive.cs created with MonoDevelop
-// User: alan at 13:13 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- class UnzipHandle : SafeHandle
- {
- public override bool IsInvalid {
- get {
- return handle == IntPtr.Zero;
- }
- }
-
- public UnzipHandle ()
- : base (IntPtr.Zero, true)
- {
-
- }
-
- protected override bool ReleaseHandle ()
- {
- NativeUnzip.CloseArchive (this);
- return true;
- }
- }
-}
+++ /dev/null
-// ZipReadStream.cs
-//
-// Copyright (c) 2008 [copyright holders]
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-//
-
-using System;
-using System.IO;
-
-namespace zipsharp
-{
- class UnzipReadStream : Stream
- {
- long length;
-
- UnzipArchive Archive { get; set; }
-
- public override bool CanRead {
- get { return true; }
- }
-
- public override bool CanSeek {
- get { return false; }
- }
-
- public override bool CanWrite {
- get { return false; }
- }
-
- public override bool CanTimeout {
- get { return false; }
- }
-
- public override long Length {
- get {
- return length;
- }
- }
-
- public override long Position {
- get { return NativeUnzip.CurrentFilePosition (Archive.Handle); }
- set { throw new NotSupportedException (); }
- }
-
- public UnzipReadStream (UnzipArchive archive)
- {
- Archive = archive;
- Archive.FileActive = true;
-
- length = NativeUnzip.CurrentFileLength (Archive.Handle);
- }
-
- public override void Close()
- {
- Archive.FileActive = false;
- NativeUnzip.CloseCurrentFile (Archive.Handle);
- }
-
- public override void Flush()
- {
-
- }
-
- public override int Read(byte[] buffer, int offset, int count)
- {
- return NativeUnzip.Read (Archive.Handle, buffer, offset, count);
- }
-
- public override long Seek(long offset, SeekOrigin origin)
- {
- throw new NotSupportedException ();
- }
-
- public override void SetLength(long value)
- {
- throw new NotSupportedException ();
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- throw new NotSupportedException ();
- }
- }
-}
+++ /dev/null
-// ZipArchive.cs created with MonoDevelop
-// User: alan at 16:31 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.IO;
-
-namespace zipsharp
-{
- class ZipArchive : IDisposable
- {
- internal bool FileActive { get; set; }
- internal ZipHandle Handle { get; private set; }
- ZipStream Stream { get; set; }
-
- public ZipArchive (string filename, Append append)
- : this (File.Open (filename, FileMode.OpenOrCreate), append)
- {
-
- }
-
- public ZipArchive (Stream stream, Append append)
- : this (stream, append, false)
- {
-
- }
-
- public ZipArchive (Stream stream, Append append, bool ownsStream)
- {
- Stream = new ZipStream (stream, ownsStream);
- Handle = NativeZip.OpenArchive (Stream.IOFunctions, append);
- }
-
- public Stream GetStream (string filename)
- {
- if (FileActive)
- throw new InvalidOperationException ("A file is already open");
-
- NativeZip.OpenFile (Handle, filename);
- return new ZipWriteStream (this);
- }
-
- public void Dispose ()
- {
- NativeZip.CloseArchive (Handle);
- Stream.Close ();
- }
- }
-}
+++ /dev/null
-// ZipFileInfo.cs created with MonoDevelop
-// User: alan at 12:14 13/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-
-namespace zipsharp
-{
- struct ZipFileInfo
- {
- ZipTime date;
- IntPtr dosDate;
- IntPtr internalFileAttributes;
- IntPtr externalFileAttributes;
-
- public DateTime FileTime
- {
- get { return date.Date; }
- }
-
- public long DosDate
- {
- get { return dosDate.ToInt64 (); }
- }
-
- internal long InternalFileAttributes
- {
- get { return internalFileAttributes.ToInt64 (); }
- }
-
- internal long ExternalFileAttributes
- {
- get { return externalFileAttributes.ToInt64 (); }
- }
-
- public ZipFileInfo (DateTime fileTime)
- {
- date = new ZipTime (fileTime);
- dosDate = new IntPtr ((int)fileTime.ToFileTime ());
- internalFileAttributes = IntPtr.Zero;
- externalFileAttributes = IntPtr.Zero;
- }
-
- }
-}
+++ /dev/null
-// ZipFile.cs created with MonoDevelop
-// User: alan at 11:54 13/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- class ZipHandle : SafeHandle
- {
- public override bool IsInvalid {
- get {
- return handle == IntPtr.Zero;
- }
- }
-
- public ZipHandle ()
- : base (IntPtr.Zero, true)
- {
-
- }
-
- protected override bool ReleaseHandle()
- {
- NativeZip.CloseArchive (this);
- return true;
- }
- }
-}
+++ /dev/null
-// ZipStream.cs created with MonoDevelop
-// User: alan at 15:16 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- class ZipStream : Stream
- {
- const int ZLIB_FILEFUNC_SEEK_CUR = 1;
- const int ZLIB_FILEFUNC_SEEK_END = 2;
- const int ZLIB_FILEFUNC_SEEK_SET = 0;
-
- bool canRead;
- bool canSeek;
- bool canWrite;
-
- public override bool CanRead {
- get { return canRead; }
- }
-
- public override bool CanSeek {
- get { return canSeek; }
- }
-
- public override bool CanWrite {
- get { return canWrite; }
- }
-
- public override bool CanTimeout {
- get { return false; }
- }
-
- private Stream DataStream {
- get; set;
- }
-
- public ZlibFileFuncDef IOFunctions {
- get; set;
- }
-
- public override long Length {
- get { return DataStream.Length; }
- }
-
- bool OwnsStream {
- get; set;
- }
-
- public override long Position {
- get { return DataStream.Position; }
- set { DataStream.Position = value; }
- }
-
- public ZipStream (Stream dataStream, bool ownsStream)
- {
- // FIXME: Not necessarily true
- canRead = true;
- canSeek = true;
- canWrite = true;
-
- DataStream = dataStream;
- OwnsStream = ownsStream;
-
- ZlibFileFuncDef f = new ZlibFileFuncDef();
-
- f.opaque = IntPtr.Zero;
- f.zclose_file = CloseFile_Native;
- f.zerror_file = TestError_Native;
- f.zopen_file = OpenFile_Native;
- f.zread_file = ReadFile_Native;
- f.zseek_file = SeekFile_Native;
- f.ztell_file = TellFile_Native;
- f.zwrite_file = WriteFile_Native;
-
- IOFunctions = f;
- }
-
- protected override void Dispose(bool disposing)
- {
- if (!disposing)
- return;
-
- DataStream.Flush ();
- if (OwnsStream)
- DataStream.Dispose ();
- }
-
- public override void Flush()
- {
- DataStream.Flush ();
- }
-
- public override int Read(byte[] buffer, int offset, int count)
- {
- return DataStream.Read (buffer, offset, count);
- }
-
- public override long Seek(long offset, SeekOrigin origin)
- {
- DataStream.Seek (offset, origin);
- return DataStream.Position;
- }
-
- public override void SetLength(long value)
- {
- DataStream.SetLength (value);
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- DataStream.Write (buffer, offset, count);
- Flush ();
- }
-
- int CloseFile_Native (IntPtr opaque, IntPtr stream)
- {
- Close ();
- return 0;
- }
-
- IntPtr OpenFile_Native (IntPtr opaque, string filename, int mode)
- {
- // always success. The stream is opened in managed code
- return new IntPtr (1);
- }
-
- unsafe IntPtr ReadFile_Native (IntPtr opaque, IntPtr stream, IntPtr buffer, IntPtr size)
- {
- int count = size.ToInt32 ();
- byte[] b = new byte[count];
- int read;
-
- try {
- read = Math.Max (0, Read (b, 0, count));
- byte* ptrBuffer = (byte*) buffer.ToPointer ();
- for (int i = 0; i < count && i < read; i ++)
- ptrBuffer[i] = b[i];
- } catch {
- read = -1;
- }
-
- return new IntPtr (read);
- }
-
- IntPtr SeekFile_Native (IntPtr opaque, IntPtr stream, IntPtr offset, int origin)
- {
- SeekOrigin seek;
- if (origin == ZipStream.ZLIB_FILEFUNC_SEEK_CUR)
- seek = SeekOrigin.Current;
- else if (origin == ZLIB_FILEFUNC_SEEK_END)
- seek = SeekOrigin.End;
- else if (origin == ZLIB_FILEFUNC_SEEK_SET)
- seek = SeekOrigin.Begin;
- else
- return new IntPtr (-1);
-
- Seek (offset.ToInt64 (), seek);
-
- return new IntPtr (0);
- }
-
- IntPtr TellFile_Native (IntPtr opaque, IntPtr stream)
- {
- if (IntPtr.Size == 4)
- return new IntPtr ((int)Position);
- else if (IntPtr.Size == 8)
- return new IntPtr (Position);
- else
- return new IntPtr (-1);
- }
-
- int TestError_Native (IntPtr opaque, IntPtr stream)
- {
- // No errors here.
- return 0;
- }
-
- unsafe IntPtr WriteFile_Native (IntPtr opaque, IntPtr stream, IntPtr buffer, /* ulong */ IntPtr size)
- {
- int count = size.ToInt32 ();
- byte[] b = new byte[count];
-
- byte* ptrBuffer = (byte*) buffer.ToPointer ();
- for (int i = 0; i < count; i ++)
- b[i] = ptrBuffer[i];
-
- try {
- Write (b, 0, count);
- } catch {
-
- }
-
- return new IntPtr (count);
- }
- }
-}
+++ /dev/null
-// ZipTime.cs created with MonoDevelop
-// User: alan at 11:56 13/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace zipsharp
-{
- [StructLayoutAttribute (LayoutKind.Sequential)]
- struct ZipTime
- {
- uint second;
- uint minute;
- uint hour;
- uint day;
- uint month;
- uint year;
-
- public ZipTime (DateTime time)
- {
- second = (uint) time.Second;
- minute = (uint) time.Minute;
- hour = (uint) time.Hour;
- day = (uint) time.Day;
- month = (uint) time.Month;
- year = (uint) time.Year;
- }
-
- public DateTime Date
- {
- get { return new DateTime ((int) year, (int) month, (int) day, (int) hour, (int) minute, (int) second); }
- }
- }
-}
+++ /dev/null
-// ZipWriteStream.cs created with MonoDevelop
-// User: alan at 16:54 20/10/2008
-//
-// To change standard headers go to Edit->Preferences->Coding->Standard Headers
-//
-
-using System;
-using System.IO;
-
-namespace zipsharp
-{
- class ZipWriteStream : Stream
- {
- ZipArchive Archive { get; set; }
-
- public override bool CanRead {
- get { return false; }
- }
-
- public override bool CanSeek {
- get { return false; }
- }
-
- public override bool CanWrite {
- get { return true; }
- }
-
- public override bool CanTimeout {
- get { return false; }
- }
-
- public override long Length {
- get {
- throw new NotSupportedException ();
- }
- }
-
- public override long Position {
- get {
- throw new NotSupportedException ();
- }
- set {
- throw new NotSupportedException ();
- }
- }
-
- public ZipWriteStream (ZipArchive archive)
- {
- Archive = archive;
- Archive.FileActive = true;
- }
-
- public override void Close()
- {
- NativeZip.CloseFile (Archive.Handle);
- Archive.FileActive = false;
- }
-
- public override void Flush()
- {
-
- }
-
- public override int Read(byte[] buffer, int offset, int count)
- {
- throw new NotSupportedException ();
- }
-
- public override long Seek(long offset, SeekOrigin origin)
- {
- throw new NotSupportedException ();
- }
-
- public override void SetLength(long value)
- {
- throw new NotSupportedException ();
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- NativeZip.Write (Archive.Handle, buffer, offset, (uint)count);
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Windows.Threading;
-
-class Class1 {
- delegate void Action ();
-
- static void Main ()
- {
- Dispatcher d = Dispatcher.CurrentDispatcher;
- Action a = delegate {
- object x = d;
- d.Invoke (DispatcherPriority.Normal, new Action (mine));
- Console.WriteLine ("Task");
- };
-
- d.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- Console.WriteLine ("First");
- });
- d.BeginInvoke (DispatcherPriority.Normal, (Action) delegate {
- Console.WriteLine ("Second");
- d.InvokeShutdown ();
- });
- d.BeginInvoke (DispatcherPriority.Send, (Action) delegate {
- Console.WriteLine ("High Priority");
- d.BeginInvoke (DispatcherPriority.Send, (Action) delegate {
- Console.WriteLine ("INSERTED");
- });
- });
- d.BeginInvoke (DispatcherPriority.SystemIdle, (Action) delegate {
- Console.WriteLine ("Idle");
- });
-
- Dispatcher.Run ();
- }
-
- static void mine ()
- {
- Console.WriteLine ("Mine");
- }
-}