mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		| @@ -0,0 +1,88 @@ | ||||
| // | ||||
| //  FLEXSystemLogMessage.m | ||||
| //  FLEX | ||||
| // | ||||
| //  Created by Ryan Olson on 1/25/15. | ||||
| //  Copyright (c) 2020 FLEX Team. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "FLEXSystemLogMessage.h" | ||||
|  | ||||
| @implementation FLEXSystemLogMessage | ||||
|  | ||||
| + (instancetype)logMessageFromASLMessage:(aslmsg)aslMessage { | ||||
|     NSDate *date = nil; | ||||
|     NSString *sender = nil, *text = nil; | ||||
|     long long identifier = 0; | ||||
|  | ||||
|     const char *timestamp = asl_get(aslMessage, ASL_KEY_TIME); | ||||
|     if (timestamp) { | ||||
|         NSTimeInterval timeInterval = [@(timestamp) integerValue]; | ||||
|         const char *nanoseconds = asl_get(aslMessage, ASL_KEY_TIME_NSEC); | ||||
|         if (nanoseconds) { | ||||
|             timeInterval += [@(nanoseconds) doubleValue] / NSEC_PER_SEC; | ||||
|         } | ||||
|         date = [NSDate dateWithTimeIntervalSince1970:timeInterval]; | ||||
|     } | ||||
|  | ||||
|     const char *s = asl_get(aslMessage, ASL_KEY_SENDER); | ||||
|     if (s) { | ||||
|         sender = @(s); | ||||
|     } | ||||
|  | ||||
|     const char *messageText = asl_get(aslMessage, ASL_KEY_MSG); | ||||
|     if (messageText) { | ||||
|         text = @(messageText); | ||||
|     } | ||||
|  | ||||
|     const char *messageID = asl_get(aslMessage, ASL_KEY_MSG_ID); | ||||
|     if (messageID) { | ||||
|         identifier = [@(messageID) longLongValue]; | ||||
|     } | ||||
|  | ||||
|     FLEXSystemLogMessage *message = [[self alloc] initWithDate:date sender:sender text:text messageID:identifier]; | ||||
|     message->_aslMessage = aslMessage; | ||||
|     return message; | ||||
| } | ||||
|  | ||||
| + (instancetype)logMessageFromDate:(NSDate *)date text:(NSString *)text { | ||||
|     return [[self alloc] initWithDate:date sender:nil text:text messageID:0]; | ||||
| } | ||||
|  | ||||
| - (id)initWithDate:(NSDate *)date sender:(NSString *)sender text:(NSString *)text messageID:(long long)identifier { | ||||
|     self = [super init]; | ||||
|     if (self) { | ||||
|         _date = date; | ||||
|         _sender = sender; | ||||
|         _messageText = text; | ||||
|         _messageID = identifier; | ||||
|     } | ||||
|  | ||||
|     return self; | ||||
| } | ||||
|  | ||||
| - (BOOL)isEqual:(id)object { | ||||
|     if ([object isKindOfClass:[self class]]) { | ||||
|         if (self.messageID) { | ||||
|             // Only ASL uses messageID, otherwise it is 0 | ||||
|             return self.messageID == [object messageID]; | ||||
|         } else { | ||||
|             // Test message texts and dates for OS Log | ||||
|             return [self.messageText isEqual:[object messageText]] && | ||||
|                     [self.date isEqualToDate:[object date]]; | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     return NO; | ||||
| } | ||||
|  | ||||
| - (NSUInteger)hash { | ||||
|     return (NSUInteger)self.messageID; | ||||
| } | ||||
|  | ||||
| - (NSString *)description { | ||||
|     NSString *escaped = [self.messageText stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"]; | ||||
|     return [NSString stringWithFormat:@"(%@) %@", @(self.messageText.length), escaped]; | ||||
| } | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn