Seiji Ainoguchi / SerialFlash

Dependents:   SerialFlashTest

Fork of SerialFlash by Seiji Ainoguchi

M25PDevice.h

Committer:
s_ain
Date:
2011-03-01
Revision:
0:d0117f54a7ee
Child:
2:6f8ab876b516

File content as of revision 0:d0117f54a7ee:

#pragma once

#include <memory>
#include <string>
#include "ISerialFlashDevice.h"

class ISPI;
class M25PDeviceImpl;

class M25PDevice : public ISerialFlashDevice
{
public:
    static M25PDevice* Create(ISPI* pSPI);
    static bool IsSupported(ISPI* pSPI);

    virtual std::string GetDeviceName(void) const;
    virtual int GetCapacity(void) const;
    virtual void ChipErase(void);
    virtual int Read(int address, void* buffer, int length);
    virtual int Write(int address, const void* buffer, int length);

private:
    std::auto_ptr<M25PDeviceImpl> _pImpl;
    M25PDevice(M25PDeviceImpl* pImpl);
};