71 lines
2.0 KiB
Objective-C
71 lines
2.0 KiB
Objective-C
//
|
|
// SUStandardVersionComparator.h
|
|
// Sparkle
|
|
//
|
|
// Created by Andy Matuschak on 12/21/07.
|
|
// Copyright 2007 Andy Matuschak. All rights reserved.
|
|
//
|
|
|
|
#ifndef SUSTANDARDVERSIONCOMPARATOR_H
|
|
#define SUSTANDARDVERSIONCOMPARATOR_H
|
|
|
|
#if __has_feature(modules)
|
|
#if __has_warning("-Watimport-in-framework-header")
|
|
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
|
#endif
|
|
@import Foundation;
|
|
#else
|
|
#import <Foundation/Foundation.h>
|
|
#endif
|
|
|
|
#ifdef BUILDING_SPARKLE_TOOL
|
|
// Ignore incorrect warning
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
|
|
#import "SUExport.h"
|
|
#import "SUVersionComparisonProtocol.h"
|
|
#pragma clang diagnostic pop
|
|
#else
|
|
#import <Sparkle/SUExport.h>
|
|
#import <Sparkle/SUVersionComparisonProtocol.h>
|
|
#endif
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
Sparkle's default version comparator.
|
|
|
|
This comparator is adapted from MacPAD, by Kevin Ballard.
|
|
It's "dumb" in that it does essentially string comparison,
|
|
in components split by character type.
|
|
*/
|
|
SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
|
|
|
|
/**
|
|
Initializes a new instance of the standard version comparator.
|
|
*/
|
|
- (instancetype)init;
|
|
|
|
/**
|
|
A singleton instance of the comparator.
|
|
*/
|
|
@property (nonatomic, class, readonly) SUStandardVersionComparator *defaultComparator;
|
|
|
|
/**
|
|
Compares two version strings through textual analysis.
|
|
|
|
These version strings should be in the format of x, x.y, or x.y.z where each component is a number.
|
|
For example, valid version strings include "1.5.3", "500", or "4000.1"
|
|
These versions that are compared correspond to the @c CFBundleVersion values of the updates.
|
|
|
|
@param versionA The first version string to compare.
|
|
@param versionB The second version string to compare.
|
|
@return A comparison result between @c versionA and @c versionB
|
|
*/
|
|
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
#endif
|