Contains alls information needed to connect to a server. The name is not needed for the connection but can used for client side organisation of login information.
コード例 #1
0
 public SessionBuilder(ServerLogin login, Guid loginGuid, string sessionKey, Guid projectGuid)
 {
     Login       = login;
     LoginGuid   = loginGuid;
     SessionKey  = sessionKey;
     ProjectGuid = projectGuid;
 }
コード例 #2
0
        public static ISession CreateOrReplaceOldestSession(ServerLogin login)
        {
            Func <IEnumerable <RunningSessionInfo>, RunningSessionInfo> sessionReplacementSelector =
                infos => infos.OrderBy(info => info.LoginDate).First();

            return(CreateOrReplaceSession(login, sessionReplacementSelector));
        }
コード例 #3
0
ファイル: SessionBuilder.cs プロジェクト: erminas/smartapi
 public SessionBuilder(ServerLogin login, Guid loginGuid, string sessionKey, Guid projectGuid)
 {
     Login = login;
     LoginGuid = loginGuid;
     SessionKey = sessionKey;
     ProjectGuid = projectGuid;
 }
コード例 #4
0
ファイル: SmartAPIException.cs プロジェクト: erminas/smartapi
 public SmartAPIException(ServerLogin login)
 {
     if (login != null)
     {
         Server = login.Name;
     }
 }
コード例 #5
0
ファイル: SmartAPIException.cs プロジェクト: erminas/smartapi
 public SmartAPIException(ServerLogin login, SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     if (login != null)
     {
         Server = login.Name;
     }
 }
コード例 #6
0
ファイル: SmartAPIException.cs プロジェクト: erminas/smartapi
 public SmartAPIException(ServerLogin login, string message, Exception innerException)
     : base(message, innerException)
 {
     if (login != null)
     {
         Server = login.Name;
     }
 }
コード例 #7
0
 public BrokenContentClassFolderSharingException(ServerLogin login, IContentClassFolder folder,
                                                 Guid sharedFromProjectGuid, Guid sharedFromFolderGuid)
     : base(login,
         string.Format(
             "Cannot load project/folder information on broken content class folder {0}. Missing project/folder: {1}/{2}",
             folder, sharedFromProjectGuid, sharedFromFolderGuid))
 {
     _sharedFromProjectGuid = sharedFromProjectGuid;
     _sharedFromFolderGuid = sharedFromFolderGuid;
 }
コード例 #8
0
ファイル: VersionAttribute.cs プロジェクト: erminas/smartapi
 public override void Validate(ServerLogin login, Version actualVersion, string method)
 {
     if (actualVersion < Version)
     {
         string versionNameString = string.IsNullOrEmpty(VersionName) ? "" : " (" + VersionName + ")";
         throw new InvalidServerVersionException(login,
                                                 string.Format(
                                                     "Invalid server version. {0} only works on servers with version greater than or equal {1}{3}, but the current server version is {2}",
                                                     method, Version, actualVersion, versionNameString));
     }
 }
コード例 #9
0
ファイル: FileDataException.cs プロジェクト: erminas/smartapi
 internal FileDataException(ServerLogin login)
     : base(login)
 {
     // Add implementation.
 }
コード例 #10
0
 internal InvalidServerVersionException(ServerLogin server, string message)
     : base(server, message)
 {
 }
コード例 #11
0
 public static ISession CreateSession(ServerLogin login)
 {
     return(new Session(login, null));
 }
コード例 #12
0
 public static ISession CreateOrReplaceSession(ServerLogin login,
                                               Func <IEnumerable <RunningSessionInfo>, RunningSessionInfo>
                                               sessionReplacementSelector)
 {
     return(new Session(login, sessionReplacementSelector));
 }
コード例 #13
0
ファイル: SessionBuilder.cs プロジェクト: erminas/smartapi
 public static ISession CreateOrReplaceOldestSession(ServerLogin login)
 {
     Func<IEnumerable<RunningSessionInfo>, RunningSessionInfo> sessionReplacementSelector =
         infos => infos.OrderBy(info => info.LoginDate).First();
     return CreateOrReplaceSession(login, sessionReplacementSelector);
 }
コード例 #14
0
ファイル: SessionBuilder.cs プロジェクト: erminas/smartapi
 public static ISession CreateOrReplaceSession(ServerLogin login,
                                               Func<IEnumerable<RunningSessionInfo>, RunningSessionInfo>
                                                   sessionReplacementSelector)
 {
     return new Session(login, sessionReplacementSelector);
 }
コード例 #15
0
 internal PageDeletionException(ServerLogin login, string message)
     : base(login, message)
 {
     Error = PageDeletionError.Unknown;
 }
コード例 #16
0
ファイル: FileDataException.cs プロジェクト: erminas/smartapi
 // This constructor is needed for serialization.
 protected FileDataException(ServerLogin login, SerializationInfo info, StreamingContext context)
     : base(login, info, context)
 {
     // Add implementation.
 }
コード例 #17
0
ファイル: SessionBuilder.cs プロジェクト: erminas/smartapi
 public static ISession CreateSession(ServerLogin login)
 {
     return new Session(login, null);
 }
コード例 #18
0
ファイル: ISession.cs プロジェクト: erminas/smartapi
 public Session(ServerLogin login,
                Func<IEnumerable<RunningSessionInfo>, RunningSessionInfo> sessionReplacementSelector)
     : this()
 {
     ServerLogin = login;
     Login(sessionReplacementSelector);
 }
コード例 #19
0
ファイル: VersionAttribute.cs プロジェクト: erminas/smartapi
 public abstract void Validate(ServerLogin login, Version actualVersion, string method);
コード例 #20
0
ファイル: ISession.cs プロジェクト: erminas/smartapi
        /// <summary>
        ///     Create an session object for an already existing session on the server, e.g. when opening a plugin from within a running session.
        /// </summary>
        public Session(ServerLogin login, Guid loginGuid, string sessionKey, Guid projectGuid)
            : this()
        {
            ServerLogin = login;
            _loginGuidStr = loginGuid.ToRQLString();
            _sessionKeyStr = sessionKey;

            InitConnection();
            XmlElement sessionInfo = GetUserSessionInfoElement();
            SelectedProjectGuid = sessionInfo.GetGuid("projectguid");
            SelectProject(projectGuid);
        }
コード例 #21
0
ファイル: FileDataException.cs プロジェクト: erminas/smartapi
 internal FileDataException(ServerLogin login, string message, Exception inner)
     : base(login, message, inner)
 {
     // Add implementation.
 }