mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-10 14:09:51 -05:00
Add OSX souces, courtesy of RokuMike
This commit is contained in:
91
osx/Firefly Helper/FireflyServer.h
Normal file
91
osx/Firefly Helper/FireflyServer.h
Normal file
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// FireflyServer.h
|
||||
//
|
||||
// The "model" part of our Model-View-Controller trio. Represents the
|
||||
// firefly server itself, and encapsulates launching, quitting, status,
|
||||
// etc.
|
||||
//
|
||||
// Created by Mike Kobb on 7/12/06.
|
||||
// Copyright 2006 Roku, LLC. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#include "../FireflyCommon.h"
|
||||
|
||||
#define STATUS_CHANGE "org.fireflymediaserver.status-change"
|
||||
#define VERSION_CHANGE "org.fireflymediaserver.version-change"
|
||||
#define URL_CHANGE "org.fireflymediaserver.url-change"
|
||||
|
||||
@interface FireflyServer : NSObject
|
||||
{
|
||||
NSString *fireflyServerPath;
|
||||
NSTask *serverTask;
|
||||
|
||||
NSString *serverVersion;
|
||||
NSString *serverURL;
|
||||
unsigned short serverPort;
|
||||
|
||||
id delegate;
|
||||
FireflyServerStatus status;
|
||||
|
||||
// We use Bonjour to find our server port and help notice if the server
|
||||
// stops
|
||||
NSNetServiceBrowser *netBrowser;
|
||||
BOOL bScanIsActive;
|
||||
NSMutableArray *pendingNetServices;
|
||||
NSNetService *fireflyService;
|
||||
char ffid[9];
|
||||
|
||||
}
|
||||
|
||||
// public methods for managing the lifecycle of the server object
|
||||
- (void)setup;
|
||||
- (void)shutdown;
|
||||
|
||||
// public methods for controlling the server process
|
||||
- (id)initWithServerPath:(NSString *) serverPath;
|
||||
- (BOOL)start;
|
||||
- (BOOL)stop;
|
||||
- (BOOL)restart;
|
||||
- (void)setDelegate:(id) delegate;
|
||||
|
||||
// public methods for querying server status & properties
|
||||
- (BOOL)isRunning;
|
||||
- (FireflyServerStatus)status;
|
||||
- (NSString *)version;
|
||||
- (NSString *)configURL;
|
||||
|
||||
// private utilities
|
||||
- (void)setStatus:(FireflyServerStatus)newStatus;
|
||||
- (void)setURL:(NSString *)newURL;
|
||||
- (void)setVersion:(NSString *)newVersion;
|
||||
- (void)taskEnded:(NSNotification *)notification;
|
||||
- (NSString*)fireflyConfigFilePath;
|
||||
- (BOOL)startAndUpdateStatus:(BOOL)bUpdate;
|
||||
- (void)killRunningFireflies;
|
||||
|
||||
// Bonjour delegate methods (NSNetServiceBrowser)
|
||||
- (void)netServiceBrowserWillSearch:(NSNetServiceBrowser *)netServiceBrowser;
|
||||
- (void)netServiceBrowserDidStopSearch:(NSNetServiceBrowser *)netServiceBrowser;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser
|
||||
didRemoveService:(NSNetService *)netService
|
||||
moreComing:(BOOL)moreServicesComing;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser
|
||||
didRemoveDomain:(NSString *)domainName
|
||||
moreComing:(BOOL)moreDomainsComing;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser
|
||||
didNotSearch:(NSDictionary *)errorInfo;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser
|
||||
didFindService:(NSNetService *)netService
|
||||
moreComing:(BOOL)moreServicesComing;
|
||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser
|
||||
didFindDomain:(NSString *)domainName
|
||||
moreComing:(BOOL)moreDomainsComing;
|
||||
|
||||
// Bonjour delegate methods (NSNetService)
|
||||
- (void)netServiceDidResolveAddress:(NSNetService *)service;
|
||||
- (void)netService:(NSNetService *)service didNotResolve:(NSDictionary *)errorInfo;
|
||||
- (void)netServiceWillResolve:(NSNetService *)service;
|
||||
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user