CMIS-905: changed ICmisSpi from internal to public

git-svn-id: https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk@1671882 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/DotCMIS/binding/atompub/atompub.cs b/DotCMIS/binding/atompub/atompub.cs
index 3f10ee3..fbf63c3 100644
--- a/DotCMIS/binding/atompub/atompub.cs
+++ b/DotCMIS/binding/atompub/atompub.cs
@@ -46,17 +46,23 @@
         private PolicyService policyService;

         private AclService aclService;

 

-        public void initialize(BindingSession session)

+        public void initialize(IBindingSession session)

         {

-            repositoryService = new RepositoryService(session);

-            navigationService = new NavigationService(session);

-            objectService = new ObjectService(session);

-            versioningService = new VersioningService(session);

-            discoveryService = new DiscoveryService(session);

-            multiFilingService = new MultiFilingService(session);

-            relationshipService = new RelationshipService(session);

-            policyService = new PolicyService(session);

-            aclService = new AclService(session);

+            BindingSession bindingSession = session as BindingSession;

+            if (bindingSession == null)

+            {

+                throw new ArgumentException("Invalid binding session!");

+            }

+

+            repositoryService = new RepositoryService(bindingSession);

+            navigationService = new NavigationService(bindingSession);

+            objectService = new ObjectService(bindingSession);

+            versioningService = new VersioningService(bindingSession);

+            discoveryService = new DiscoveryService(bindingSession);

+            multiFilingService = new MultiFilingService(bindingSession);

+            relationshipService = new RelationshipService(bindingSession);

+            policyService = new PolicyService(bindingSession);

+            aclService = new AclService(bindingSession);

         }

 

         public IRepositoryService GetRepositoryService()

diff --git a/DotCMIS/binding/binding-impl.cs b/DotCMIS/binding/binding-impl.cs
index 5cf28ea..5b524dc 100644
--- a/DotCMIS/binding/binding-impl.cs
+++ b/DotCMIS/binding/binding-impl.cs
@@ -587,9 +587,9 @@
     /// <summary>

     /// SPI interface.

     /// </summary>

-    internal interface ICmisSpi : IDisposable

+    public interface ICmisSpi : IDisposable

     {

-        void initialize(BindingSession session);

+        void initialize(IBindingSession session);

         IRepositoryService GetRepositoryService();

         INavigationService GetNavigationService();

         IObjectService GetObjectService();

diff --git a/DotCMIS/binding/webservices/webservices.cs b/DotCMIS/binding/webservices/webservices.cs
index 18f9e24..44867d5 100644
--- a/DotCMIS/binding/webservices/webservices.cs
+++ b/DotCMIS/binding/webservices/webservices.cs
@@ -46,19 +46,25 @@
         private PolicyService policyService;

         private AclService aclService;

 

-        public void initialize(BindingSession session)

+        public void initialize(IBindingSession session)

         {

-            PortProvider provider = new PortProvider(session);

+            BindingSession bindingSession = session as BindingSession;

+            if (bindingSession == null)

+            {

+                throw new ArgumentException("Invalid binding session!");

+            }

 

-            repositoryService = new RepositoryService(session, provider);

-            navigationService = new NavigationService(session, provider);

-            objectService = new ObjectService(session, provider);

-            versioningService = new VersioningService(session, provider);

-            discoveryService = new DiscoveryService(session, provider);

-            multiFilingService = new MultiFilingService(session, provider);

-            relationshipService = new RelationshipService(session, provider);

-            policyService = new PolicyService(session, provider);

-            aclService = new AclService(session, provider);

+            PortProvider provider = new PortProvider(bindingSession);

+

+            repositoryService = new RepositoryService(bindingSession, provider);

+            navigationService = new NavigationService(bindingSession, provider);

+            objectService = new ObjectService(bindingSession, provider);

+            versioningService = new VersioningService(bindingSession, provider);

+            discoveryService = new DiscoveryService(bindingSession, provider);

+            multiFilingService = new MultiFilingService(bindingSession, provider);

+            relationshipService = new RelationshipService(bindingSession, provider);

+            policyService = new PolicyService(bindingSession, provider);

+            aclService = new AclService(bindingSession, provider);

         }

 

         public IRepositoryService GetRepositoryService()