예제 #1
0
        public virtual void Rename(string newName)
        {
            IInternalObjectContainer container = (IInternalObjectContainer)_transaction.ObjectContainer
                                                     ();

            container.SyncExec(new _IClosure4_56(this, newName));
        }
            public virtual bool Dispatch(Transaction trans, object obj, int eventID)
            {
                if (methods[eventID] == null)
                {
                    return(true);
                }
                object[]            parameters = new object[] { trans.ObjectContainer() };
                ObjectContainerBase container  = trans.Container();
                int stackDepth     = container.StackDepth();
                int topLevelCallId = container.TopLevelCallId();

                container.StackDepth(0);
                try
                {
                    object res = methods[eventID].Invoke(obj, parameters);
                    if (res is bool)
                    {
                        return((bool)res);
                    }
                }
                finally
                {
                    container.StackDepth(stackDepth);
                    container.TopLevelCallId(topLevelCallId);
                }
                return(true);
            }
예제 #3
0
			public virtual bool Dispatch(Transaction trans, object obj, int eventID)
			{
				if (methods[eventID] == null)
				{
					return true;
				}
				object[] parameters = new object[] { trans.ObjectContainer() };
				ObjectContainerBase container = trans.Container();
				int stackDepth = container.StackDepth();
				int topLevelCallId = container.TopLevelCallId();
				container.StackDepth(0);
				try
				{
					object res = methods[eventID].Invoke(obj, parameters);
					if (res is bool)
					{
						return ((bool)res);
					}
				}
				finally
				{
					container.StackDepth(stackDepth);
					container.TopLevelCallId(topLevelCallId);
				}
				return true;
			}
예제 #4
0
 // do nothing
 private void SetOn(Transaction trans, object a_onObject, object toSet)
 {
     try
     {
         _translator.OnActivate(trans.ObjectContainer(), a_onObject, toSet);
     }
     catch (Exception e)
     {
         throw new ReflectException(e);
     }
 }
예제 #5
0
 public override object GetOn(Transaction a_trans, object a_OnObject)
 {
     try
     {
         return(_translator.OnStore(a_trans.ObjectContainer(), a_OnObject));
     }
     catch (ReflectException e)
     {
         throw;
     }
     catch (Exception e)
     {
         throw new ReflectException(e);
     }
 }
예제 #6
0
		public override object GetOn(Transaction a_trans, object a_OnObject)
		{
			try
			{
				return _translator.OnStore(a_trans.ObjectContainer(), a_OnObject);
			}
			catch (ReflectException e)
			{
				throw;
			}
			catch (Exception e)
			{
				throw new ReflectException(e);
			}
		}
예제 #7
0
		// do nothing
		private void SetOn(Transaction trans, object a_onObject, object toSet)
		{
			try
			{
				_translator.OnActivate(trans.ObjectContainer(), a_onObject, toSet);
			}
			catch (Exception e)
			{
				throw new ReflectException(e);
			}
		}
예제 #8
0
 private bool IsEmbeddedClient(Db4objects.Db4o.Internal.Transaction transaction)
 {
     return(IsEmbeddedClient(transaction.ObjectContainer()));
 }
예제 #9
0
 private bool IsEmbeddedClient(Transaction transaction)
 {
     return IsEmbeddedClient(transaction.ObjectContainer());
 }
예제 #10
0
 public IObjectContainer ObjectContainer()
 {
     return(_enclosing.ObjectContainer());
 }