1873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood/* 2873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Copyright (C) 2010 The Android Open Source Project 3873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * 4873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Licensed under the Apache License, Version 2.0 (the "License"); 5873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * you may not use this file except in compliance with the License. 6873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * You may obtain a copy of the License at 7873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * 8873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * http://www.apache.org/licenses/LICENSE-2.0 9873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * 10873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * Unless required by applicable law or agreed to in writing, software 11873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * distributed under the License is distributed on an "AS IS" BASIS, 12873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * See the License for the specific language governing permissions and 14873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood * limitations under the License. 15873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood */ 16873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 17873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifndef _MTP_EVENT_PACKET_H 18873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#define _MTP_EVENT_PACKET_H 19873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 20873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#include "MtpPacket.h" 21873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#include "mtp.h" 22873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 23bc1d4b41f4df1b6dd04801ea5a526d23f5321340Jerry Zhang#include <errno.h> 24bc1d4b41f4df1b6dd04801ea5a526d23f5321340Jerry Zhang 25487be61fb0a38873aec1d12da92437fba5e728f2Jerry Zhangclass IMtpHandle; 26487be61fb0a38873aec1d12da92437fba5e728f2Jerry Zhang 27873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodnamespace android { 28873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 29873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodclass MtpEventPacket : public MtpPacket { 30873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 31873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwoodpublic: 32873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood MtpEventPacket(); 33873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood virtual ~MtpEventPacket(); 34873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 35873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifdef MTP_DEVICE 36487be61fb0a38873aec1d12da92437fba5e728f2Jerry Zhang // write our data to the given usb handle 37487be61fb0a38873aec1d12da92437fba5e728f2Jerry Zhang int write(IMtpHandle *h); 38873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif 39873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 40873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#ifdef MTP_HOST 4142d0b79a787814d42e4c6f9dfe14f13cc0f6a758Mike Lockwood // read our buffer with the given request 428a7ffae09a019de7109b30c505561c453910bde1Daichi Hirono int sendRequest(struct usb_request *request); 438a7ffae09a019de7109b30c505561c453910bde1Daichi Hirono int readResponse(struct usb_device *device); 44873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif 45873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 46873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood inline MtpEventCode getEventCode() const { return getContainerCode(); } 47873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood inline void setEventCode(MtpEventCode code) 48873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood { return setContainerCode(code); } 49873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood}; 50873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 51873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood}; // namespace android 52873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood 53873871f3e75831bcda6c3f75bb4d53355ca5c53aMike Lockwood#endif // _MTP_EVENT_PACKET_H 54