예제 #1
0
        public static Result SetGlobalAccessLogMode(this FileSystemClient fs, GlobalAccessLogMode mode)
        {
            using ReferenceCountedDisposable <IFileSystemProxy> fsProxy = fs.Impl.GetFileSystemProxyServiceObject();

            Result rc = fsProxy.Target.SetGlobalAccessLogMode(mode);

            fs.Impl.AbortIfNeeded(rc);
            return(rc);
        }
예제 #2
0
        public Result SetGlobalAccessLogMode(GlobalAccessLogMode mode)
        {
            if (HasFileSystemServer())
            {
                IFileSystemProxy fsProxy = GetFileSystemProxyServiceObject();

                return(fsProxy.SetGlobalAccessLogMode(mode));
            }

            GlobalAccessLogMode = mode;
            return(Result.Success);
        }
예제 #3
0
        internal void OutputAccessLogImpl(Result result, TimeSpan startTime, TimeSpan endTime, int handleId,
                                          string message, [CallerMemberName] string caller = "")
        {
            if (GlobalAccessLogMode.HasFlag(GlobalAccessLogMode.Log))
            {
                AccessLog?.Log(result, startTime, endTime, handleId, message, caller);
            }

            if (GlobalAccessLogMode.HasFlag(GlobalAccessLogMode.SdCard))
            {
                string logString = AccessLogHelpers.BuildDefaultLogLine(result, startTime, endTime, handleId, message, caller);

                IFileSystemProxy fsProxy = GetFileSystemProxyServiceObject();
                fsProxy.OutputAccessLogToSdCard(logString.ToU8Span());
            }
        }
예제 #4
0
        public Result SetAccessLogMode(GlobalAccessLogMode mode)
        {
            Result rc = GetProgramInfo(out ProgramInfo programInfo);

            if (rc.IsFailure())
            {
                return(rc);
            }

            if (!programInfo.AccessControl.CanCall(OperationType.SetGlobalAccessLogMode))
            {
                return(ResultFs.PermissionDenied.Log());
            }

            _serviceImpl.SetAccessLogMode(mode);
            return(Result.Success);
        }
예제 #5
0
 public Result GetGlobalAccessLogMode(out GlobalAccessLogMode mode)
 {
     mode = LogMode;
     return(Result.Success);
 }
예제 #6
0
 public Result SetGlobalAccessLogMode(GlobalAccessLogMode mode)
 {
     LogMode = mode;
     return(Result.Success);
 }
예제 #7
0
 public Result GetAccessLogMode(out GlobalAccessLogMode mode)
 {
     mode = _serviceImpl.GetAccessLogMode();
     return(Result.Success);
 }