165942Sgibbs/* 265942Sgibbs * Copyright 2008-2009, Haiku, Inc. All Rights Reserved. 365942Sgibbs * Distributed under the terms of the MIT License. 465942Sgibbs * 565942Sgibbs * Authors: 671717Sgibbs * Bruno Albuquerque, bga@bug-br.org.br 765942Sgibbs */ 865942Sgibbs 965942Sgibbs#ifndef _CDDB_DAEMON_H 1065942Sgibbs#define _CDDB_DAEMON_H 1165942Sgibbs 1265942Sgibbs#include <Application.h> 1365942Sgibbs 1465942Sgibbs#include <scsi_cmds.h> 1565942Sgibbs 1665942Sgibbsstruct ReadResponseData; 1765942Sgibbsstruct QueryResponseData; 1865942Sgibbs 1965942Sgibbsclass BList; 2065942Sgibbsclass BMessage; 2165942Sgibbsclass BVolumeRoster; 2265942Sgibbs 2365942Sgibbsclass CDDBDaemon : public BApplication { 2465942Sgibbspublic: 2565942Sgibbs CDDBDaemon(); 2665942Sgibbs virtual ~CDDBDaemon(); 2765942Sgibbs 2865942Sgibbs virtual void MessageReceived(BMessage* message); 2965942Sgibbs 3065942Sgibbsprivate: 3165942Sgibbs status_t _Lookup(const dev_t device); 3265942Sgibbs bool _CanLookup(const dev_t device, uint32* cddbId, 3371390Sgibbs scsi_toc_toc* toc) const; 3465942Sgibbs QueryResponseData* _SelectResult(BList* response) const; 3565942Sgibbs status_t _WriteCDData(dev_t device, QueryResponseData* diskData, 3665942Sgibbs ReadResponseData* readResponse); 3765942Sgibbs 3865942Sgibbs BVolumeRoster* fVolumeRoster; 3965942Sgibbs}; 4065942Sgibbs 4165942Sgibbs#endif // _CDDB_DAEMON_H 4265942Sgibbs