1/*
2* Copyright (C) 2011 The Android Open Source Project
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16#ifndef PROGRAM_DATA_H
17#define PROGRAM_DATA_H
18
19class ProgramData:public ObjectData{
20public:
21    ProgramData();
22    virtual ~ProgramData();
23
24    GLuint getAttachedVertexShader();
25    GLuint getAttachedFragmentShader();
26    GLuint getAttachedShader(GLenum type);
27
28    bool attachShader(GLuint shader,GLenum type);
29    bool isAttached(GLuint shader);
30    bool detachShader(GLuint shader);
31
32    void setLinkStatus(GLint status);
33    GLint getLinkStatus();
34
35    void setInfoLog(GLchar *log);
36    GLchar* getInfoLog();
37
38private:
39    GLuint AttachedVertexShader;
40    GLuint AttachedFragmentShader;
41    GLint  LinkStatus;
42    GLchar* infoLog;
43};
44#endif
45